数组的相关处理函数

数组的相关处理函数
1.数组的键/值操作函数

2.统计数组元素的个数与唯一性

3.使用回调函数处理数组的函数

4.数组的排序函数

5.拆分、合并、分解与结合数组

6.数组与数据结构

7.其他有用的数组处理函数

array_values 返回数组中所有的值

array_keys 返回数组中所有键名

"linux","webserver"=>"Apache","num"=>10,"aa"=>"10","ws"=>"Apache","db"=>"MySQL","language"=>"PHP");

  print_r($lamp);
  echo '
'; //输出下标连续的索引数组 // $arr=array_values($lamp); // // print_r($arr); // echo '
'; //用list()遍历 // list($os,$webserver,$db,$language)=array_values($lamp); // // echo $os."
"; // echo $webserver."
"; // echo $db."
"; // echo $language."
"; // print_r(array_keys($lamp)); 全部返回所有键名 //只返回指定值得键名 // print_r(array_keys($lamp,"Apache")); //加true寻找需要类型、内容都要相等 print_r(array_keys($lamp,"10",true));

in_array 检查数组中是否存在某个值

  "linux",array("a","b"),"webserver"=>"Apache","num"=>11,"aa"=>"10","ws"=>"Apache","db"=>"MySQL","language"=>"PHP","hello"=>null);

    print_r($lamp);
    echo '
'; //加true可以查询数组,数组必须是顺序一致,类型,内容一致才行 if (in_array(array("a","b"),$lamp,true)) { echo "在数组中"; }else{ echo "不在数组中"; } // array_search 在数组中搜索给定的值,如果成功则返回相应的键名 echo array_search("MySQL",$lamp); //array_key_exists 判断键是否存在 echo array_key_exists("MySQL",$lamp); //isset 判断是否存在,空值判断不了,用array_key_exists判断 if (isset($lamp['hello'])) { echo "在数组中"; }else{ echo "不在数组中"; }

array_flip 交换数组中的键和值,下标如果重复,后面覆盖前边的

"linux","webserver"=>"Apache");
  print_r($lamp);
  echo '
'; // $arr=array_flip($lamp); // print_r($arr); //array_reverse 返回一个单元顺序相反的数组,加true保留原来的键值 $arr=array_reverse($lamp); print_r($arr);

count 计算数组中的单元数目或对象中的属性个数

strlen 计算字符串长度

"linux","webserver"=>"Apache");
  print_r($lamp);
  echo '
'; // count 计算数组中的单元数目或对象中的属性个数 // strlen 计算字符串长度 echo count($lamp); $web=array( "lamp"=>array("os"=>"linux","webserver"=>"Apache","db"=>"MySQL","language"=>"PHP"),"javaEE"=>array("os"=>"Unix","webserver"=>"Tomcat","db"=>"Oracle","language"=>"JSP") ); echo count($web,1); //array_count_values 统计数组中所有的值出现的次数,如果出现重复,取第一个 $lam=array("os"=>"linux","linux","Linux","webserver"=>"Apache"); print_r($lam); echo '
'; print_r(array_count_values($lamp));

array_filter 用回调函数过滤数组中的单元

";
  var_dump($arr);
  echo "
"; echo '
'; echo "
";
  //过滤去除bool、null、0等
  var_dump(array_filter($arr));
  echo "
"; //过滤去除小于0的 function myfun($value){ if($value>=0) return true; else return false; } echo "
";
  var_dump(array_filter($arr,"myfun"));
  echo "
"; //过滤去除不是2的倍数 echo "
";
  var_dump(array_values(array_filter($arr,function($value){
    return !($value%2==0);
  })));
  echo "
";

array_map 将回调函数作用到给定数组的单元上

';

  function myfun($v,$bv){
    echo "$v--------$bv 
"; return 1; } $rarr=array_map("myfun",$arr,$brr); print_r($rarr); echo '
'; // 合并数组 $arr =array(1,2,3,4,5); $brr =array("one","two","three"); $crr =array("aa","bb","cc","dd"); print_r($arr); echo '
'; $rarr=array_map(null,$arr,$brr,$crr); echo '
';
  print_r($rarr);
  echo '
';

你可能感兴趣的:(数组的相关处理函数)