<?php
	/*
	 * Created on 2011-5-11
	 * author 孤独求学人
	 */
	 /*
	 * $array  要分割的数组
	 * $size   分割成的数组长度
	 */
	function arrayChunk($array,$size){
	   if(!is_array($array)){
	         //return $array."不是数组";
	         return;
	   }else{
	      $nums = count($array);
	      if($size > $nums){
	          //return "分割数组长度大于原来数组的长度";
	          return;
	      }else{
	          return $array = array_chunk($array,$size);
	      }
	   }
	}
	/*$array = array('a','b','c');
	$size = 2;
	$a = arrayChunk($array,$size);
	print_r($a);*/
	/* --  -------------------------------------------------- />
	/*
	 * array_combine --  创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
	 */
	 function arrayCombine($array1,$array2){
	     if(!is_array($array1) || !is_array($array2)){
	         return;
	     }
	     if(count($array1) == count($array2)){
	         return $new_array = array_combine($array1,$array2);
	     }else{
	         return;
	     }
	
	 }
	 /*$array1 = array('1','2','3');
	 $array2 = array('a','b','c');
	 $new_array = arrayCombine($array1,$array2);
	 var_dump($new_array);*/
	 /*
	  * 统计数组中所有的值出现的次数
	  */
	  function arrayCountValues($array){
	      if(is_array($array)){
	          return $array = array_count_values($array);
	      }else{
	          return;
	      }
	  }
	  /*$array = array('a','b','e','a','e','b','w','y','u','p','q');
	  $test = arrayCountValues($array);
	  print_r($test);*/
	  //array_filter --  用回调函数过滤数组中的单元
	  function odd($var){//奇数
	      return ($var%2==1);
	  }
	  function even($var){//偶数
	      return ($var%2==0);
	  }
	  /*$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
	   $array2 = array (6, 7, 8, 9, 10, 11, 12);
	
	    echo "Odd :\n";
	   print_r(array_filter($array1, "odd"));
	   echo "Even:\n";
	   print_r(array_filter($array2, "even"));*/
	  /*
	   * array_flip -- 交换数组中的键和值
	   * $var 如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
	   */
	   function arrayFlip($var){
	        if(is_array($var)){
	            return $trans = array_flip($var);
	        }
	   }
	/*   $trans = array ("a" => 1, "b" => 2, "c" => 3);
	   print_r(arrayFlip($trans));*/
	   /*
	    * 在数组头部插入一个或多个单元
	    */
	    function arrayUnshift($array,$values){
	        if(is_array($array)){
	            if(!is_array($values)){
	                 array_unshift($array,$values);
	                 return $array;
	            }else{
	                 foreach($values as $key=>$val){
	                     array_unshift($array,$val);
	                 }
	                 return $array;
	            }
	        }
	    }
	  /*  $array = array('a','b','c');
	    $values = array('1','2','3');
	    print_r(arrayUnshift($array,$values));*/
	    /*
	     * 去除数组中重复的值,接受 array 作为输入并返回没有重复值的新数组。
	     */
	     function arrayUnique($array){
	         if(is_array($array)){
	              array_unique($array);
	              return $array;
	         }
	     }
	     /*$input = array ("a" => "green", "red", "b" => "green", "blue", "red");
	     print_r(arrayUnique($input));*/
	     /*
	      * array_pop  将数组最后一个单元弹出(出栈)
	      */
	      function arrayPop($array){
	          if(is_array($array)){
	               array_pop($array);
	               return $array;
	          }
	      }
	      /*$array = array('1','2','3','4');
	      print_r(arrayPop($array));*/
	      /*
	       * array_shift --  将数组开头的单元移出数组
	       */
	       function arrayShift($array){
	         if(is_array($array)){
	            array_shift($array);
	            return $array;
	         }
	       }
	       /*$array = array('a','b','c');
	       print_r(arrayShift($array));*/
	      //array_map --  将回调函数作用到给定数组的单元上
	      /*
	       * 查找两个数组的交集
	       * array_intersect -- 计算数组的交集
	       * array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
	       */
	       function arrayIntersect($array1,$array2){
	            if(!is_array($array1) || !is_array($array2)){
	                return;
	            }else{
	                $new_array = array_intersect($array1,$array2);
	                return $new_array;
	            }
	       }
	      /* $array1 = array ("a" => "green", "red", "blue");
	       $array2 = array ("b" => "green", "yellow", "red");
	       print_r(arrayIntersect($array1,$array2));*/
	
	?>