php array函数

2011-7-7 杜世伟 Php

<?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));*/

?>

标签: arrayShift arrayIntersect arrayChunk

Powered by emlog 沪ICP备2023034538号-1