«

php数组函数

时间:2023-3-1 21:56     作者:wen     分类: PHP


<?php
   print_r() 打印数组
   in_array() 检查数组中是否存在某个值
      $arr = array('1','2','3','a','b',
         'c');
      var_dump(in_array('c',$arr));
   array_key_exists() 检查给的的键名索引是否在数组中
      $arr = array('1','2','3','a','b',
      'c','dz'=>'d');
      var_dump(array_key_exists('dz',$arr));
   array_keys 返回数组中的键名组成的数组
      $arr = array('1','2','3','a','b',
         'c','dz'=>'d');
      print_r(array_keys($arr));
   array_values 返回数组中的键值组成的数组
      $arr = array('1','2','3','a','b',
         'c','dz'=>'d');
      print_r(array_values($arr));
   key 取得数组当前指针所在的键
      $arr = array('one'=>'1','2','3','a','b',
      'c','dz'=>'d');
      echo key($arr);
   current 取得数组当前指针所在位置的值
      $arr = array('one'=>'1','2','3','a','b',
      'c','dz'=>'d');
      echo current($arr);
   each 取得数组当前指针所在位置的键与值,返回数组
      $arr = array('one'=>'1','2','3','a','b',
      'c','dz'=>'d');
      print_r(each($arr));
   list 
      $arr = array('one'=>'1','2','3','a','b',
         'c','dz'=>'d');
      list($a,$b)=each($arr);
      echo $a.'-'.$b;
   next 数组指针往下移一个单位
      $arr = array('one'=>'1','2','3','a','b',
      'c','dz'=>'d');
      next($arr);
      echo key($arr);
   prev 数组指针往上移一个单位

   reset 数组指针移到头部
   end 数组指针移到尾部

   array_push 把一个元素压入数组的末尾
   array_pop 删除最后一个元素,并取出
      $arr = array();
      for($i=0;$i<9;$i++){
         array_push($arr, $i);
      }
      print_r($arr);
      for($i=0;$i<9;$i++){
         echo array_pop($arr);
      }
      print_r($arr);

   array_push 把一个元素压入数组的末尾
   array_shift 删除第一个元素,并取出
      $arr = array();
      for($i=0;$i<9;$i++){
         array_push($arr, $i);
      }
      print_r($arr);
      for($i=0;$i<9;$i++){
         echo array_shift($arr);
      }
      print_r($arr);
   array_unshift(array, var) 把一个元素压入数组的头部

   array_pad 用值将数组填充到指定长度
      $arr=array('one'=>'1','2','3','a','b',
         'c','dz'=>'d');
      print_r(array_pad($arr,9, 1));
   count 计算数组长度
      $arr=array('one'=>'1','2','3','a','b',
      'c','dz'=>'d');
      print_r(array_pad($arr,count($arr)+2, 1));
   array_unique 移除数字中相同的元素
      $arr=array('one'=>'1',2,'2','3','a','b',
      'c','dz'=>'d');
      print_r(array_unique($arr));

   sort() 对数字元素的值按低到高排序
      $arr=array('one'=>'1',2,'2','3','a','b',
         'c','dz'=>'d');
      sort($arr);
      print_r($arr);
   rsort() 对数字元素的值按高到低排序
      $arr=array('one'=>'1',2,'2','3','a','b',
      'c','dz'=>'d');
      rsort($arr);
      print_r($arr);
   ksort() 对数组的键按低到高排序
      $arr=array('one'=>'1',2,'2','3','a','b',
      'c','dz'=>'d');
      ksort($arr);
      print_r($arr);
   krsort(array) 对数组的键按高到低排序

   shuffle() 将数组元素打乱
      $arr=array('one'=>'1',2,'2','3','a','b',
      'c','dz'=>'d');
      shuffle($arr);
      print_r($arr);

   array_combine() 讲一个数组作为键,另一个数组作为值
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      array_combine($arr);
      print_r(array_combine($arr1,$arr));
   array_merge() 将一个或多个数组合成一个数组
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      print_r(array_merge($arr1,$arr));
   array_slice 从数组提取指定的元素
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      print_r(array_slice($arr,0,1)
   array_splice 添加,删除,替换数组中的元素
      //添加
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      array_splice($arr,count($arr),0,'css');
      print_r($arr);
      //替换
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      array_splice($arr,1,1,'css');
      print_r($arr);
      //删除
      $arr=array('one'=>'1','dz'=>'d');
      $arr1=array('1',2);
      array_splice($arr,1,1);
      print_r($arr);

   range(low, high) 产生某个范围个数组
      $arr = range(1, 10,2);
      print_r($arr);
   array_sum(array) 求数组的和
      $arr = range(1, 10);
      echo array_sum($arr);
   array_chunk(input, size) 将一个一维数组分割成一个二维数组

   array_filter(input) 用函数过滤数组元素
      function check($data){
      if(!($data==4)){
         return $data;
      }
   }
   $arr = range(1,10);
   print_r(array_filter($arr,'check'));

   array_map(callback, arr1) 用函数加工数组元素
      function deal($param){
      return $param.'s';
      }
      $arr = array(1,2,3,'',4);
      print_r(array_map('deal',$arr));

   array_diff(array1, array2) 按值来计算两个数组的差集
      $arr = array(1,2,3,'',4);
      $arrx = range(1,10);
      print_r(array_diff($arrx,$arr));

   array_diff_key(array1, array2) 按键来计算两个数组的差集

   array_diff_assoc(array1, array2) 按值与键来计算两个数组的差集

   SORT_REGULAR 正常比较单元
   SORT_NUMERIC 单元被作为数字来比较
   SORT_STRING 单元被作为字符串来比较

   function check($data){
      if(!($data==4)){
         return $data;
      }
   }
   $arr = range(1,10);
   print_r(array_filter($arr,'check'));
   /*
    */
   echo '<hr/>';
   function check1($n){
      for($i=0;$i<=$n;$i++){
         echo mt_rand(0,9);
      }
   }
   check1(100);
   echo '<hr />';
   echo strval(pow(1024,4));
?>
implode 将数组转换成字符串
explode 将字符串转换成数组

array_push() 在数组末尾添加多个元素,返回元素个数
array_unshift() 在数组前添加多个元素,返回元素个数
array_pop() 删除数组最后一个元素,返回被删除的元素
array_shift() 删除数组前面一个元素,返回被删除的元素

list()=$arr 把数组的值赋值个变量

array_values()返回数组中所有键值,并重新建立索引
array_keys() 返回数组中所有的键名,并重新建立索引

in_array(a,b) 判断一个值是否在数组里, 返回 是|true 否|false 

sort($arr) 按键值升序排序,不保持索引关系
rsort($arr) 按键值降序排序,不保持索引关系
asort($arr) 按键值升序排序,保持索引关系
arsort($arr) 按键值降序排序,保持索引关系

ksort($arr) 按键名升序排序
krsort($arr) 按键名降序排序

array_count_values() 统计数组中所有的值出现的次数
array_unique() 清除数组中重复的值,返回新数组
array_merge() 合并多个数组(只针对一维数组)
array_rand()从数组中取出多个元素

shuffle() 随机打乱数组中的元素

array_slice() 从数组当中取出一段,放回截取的值;
array_flip() 调换数组的键和值
array_reverse() 数组的元素前后调换

标签: PHP基础