Home  >  Article  >  Backend Development  >  PHP数组的一些常用函数

PHP数组的一些常用函数

WBOY
WBOYOriginal
2016-06-23 13:28:52723browse

1---数组中元素值的返回------->array_values();

2---数组中键名的返回---------->array_keys();

     //这两个函数的返回值也同样是数组,下表改变为索引,从0开始

<?php$arr = array('brand1'=>'lumia800','brand2'=>'lumia900','brand3'=>'lumia640xl');    echo "<pre class="brush:php;toolbar:false">";    var_dump(array_values($arr));    echo "
";        echo "
";        echo "
";    var_dump(array_keys($arr));    echo "
";

//程序的结果如下1,2

array(3) {  [0]=>  string(8) "lumia800"  [1]=>  string(8) "lumia900"  [2]=>  string(10) "lumia640xl"}
array(3) {  [0]=>  string(6) "brand1"  [1]=>  string(6) "brand2"  [2]=>  string(6) "brand3"}

//***************************************************************************************************************

3---检查数组中是否存在某个元素---------->in_array(needle,haystach,[boll strict]);

<?php$arr=array("lumia640","lumia800","lumia1520",900);var_dump(in_array("lumia800", $arr));var_dump(in_array("900", $arr));        var_dump(in_array("900", $arr,true));//*******结果输出**************************************//boolean true//boolean true//boolean false<-------因为第三个参数表示为严格查找--->类型和值?>


3---数组元素键名与值得对调

<?php$arr=array("lang1" => "php",           "lang2" => "python",           "lang3" => "node");var_dump(array_flip($arr));//**********************//'php' => string 'lang1' (length=5)//'python' => string 'lang2' (length=5)//'node' => string 'lang3' (length=5)?>


4:数组元素个数的统计---count()

<?php$arr1 = array("php"    =>array("php5.3","php5.4","php5.5","php7"),              "python" =>array("python2.7","python3.3","python3.4")            );$num1 = count($arr1);    //遍历到一维 php+python=2$num2 = count($arr1,1);  //一维+二维遍历 2+4+3=9echo '数组$arr1一维统计的结果是-'.$num1."<br/>";echo '数组$arr1多维统计的结果是-'.$num2."<br/>";?>


5:数组中元素出现次数的统计array_count_values()

<?php$arr=array("php",1,"python",1,"php",1);var_dump(array_count_values($arr)); // 'php' => int 2 //  1 => int 3 //  'python' => int 1?>


6:删除数组中重复的值array_unique()

<?php$arr=array("a"=>"php","b"=>1,"c"=>"python","d"=>1,"e"=>"php",1);var_dump(array_unique($arr));//********如有值重复则保留前面的删除后面的*******  // 'a' => string 'php' (length=3)  // 'b' => int 1  // 'c' => string 'python' (length=6)?>


7:调用自定义的函数处理数组内容array_filter()

<?php$arr=array(1,2,3,4,5,6,7,8,9,10);//*************************自定义函数的调用****var_dump(array_filter($arr,"myfun"));function myfun($val){if($val%2 != 0){return $val;  }    }//***********输出结果***********************  // 0 => int 1  // 2 => int 3  // 4 => int 5  // 6 => int 7  // 8 => int 9?>

8:数组元素值得排序

<?php//******************后面的元素为后加的***********$arr=array(1,4,6,2,3,'a','g','b','A');sort($arr);       //顺序---从小到大var_dump($arr);  // 0 => string 'A' (length=1)----->大写最小  // 1 => string 'a' (length=1)----->小写次之  // 2 => string 'b' (length=1)  // 3 => string 'g' (length=1)  // 4 => int 1--------------------->数字最大了  // 5 => int 2  // 6 => int 3  // 7 => int 4  // 8 => int 6rsort($arr);var_dump($arr);  //倒序---从大到小//   0 => int 6//   1 => int 4//   2 => int 3//   3 => int 2//   4 => int 1?>


9: 根据条件在数组取出一段值并返回---array_slice()

<?php//下标*****0*1*2*3*4**5***6***7***8**$arr=array(1,4,6,2,3,'a','g','b','A');$rest1 = array_slice($arr, 2, 3);    //下标从第2位开始往后取三位$rest2 = array_slice($arr, -3, 3);   //下标从倒数第2位开始往后取三位var_dump($rest1);   //6,2,3var_dump($rest2);   //g,b,A?>


10: 数组的合并为一个新数组,前数组键名,后数组键值

<?php$arr1=array('os','webserver','database','script');$arr2=array('linux','apache','mongodb','php');//数组的合并,前面的数组元素值作为新数组键名,后面的数组元素值作为新数组的值var_dump(array_combine($arr1, $arr2));  // 'os' => string 'linux' (length=5)  // 'webserver' => string 'apache' (length=6)  // 'database' => string 'mongodb' (length=7)  // 'script' => string 'php' (length=3)?>


11:数组的合并,有相同元素值的保留后一个array_merge()

<?php$arr1=array('a'=>'windows','b'=>'apache','c'=>'mysql');$arr2=array('d'=>'linux','b'=>'nginx','e'=>'mongodb');//数组的合并,若两数组中有相同的键名则后面覆盖前面var_dump(array_merge($arr1, $arr2));  // 'a' => string 'windows' (length=7)  // 'b' => string 'nginx' (length=5)  // 'c' => string 'mysql' (length=5)  // 'd' => string 'linux' (length=5)  // 'e' => string 'mongodb' (length=7)?>


12: 数组的交集与差集array_intersect()与array_diff()

<?php$arr1=array('windows','nginx','mysql');$arr2=array('linux','nginx','mongodb');var_dump(array_intersect($arr1, $arr2));  //nginxvar_dump(array_diff($arr1, $arr2));       //返回两者相差的第一数组的元素//   0 => string 'windows' (length=7)//   2 => string 'mysql' (length=5)?>



13: 数组内容的追加--array_push()

<?php$arr1=array('windows','nginx','mysql');$arr2=array('linux','nginx','mongodb');array_push($arr1, 'php');     //向数组后追加一个元素array_push($arr2, $arr1);     //在数组后追加一个数组var_dump($arr1);  // 0 => string 'windows' (length=7)  // 1 => string 'nginx' (length=5)  // 2 => string 'mysql' (length=5)  // 3 => string 'php' (length=3)var_dump($arr2);  // 0 => string 'linux' (length=5)  // 1 => string 'nginx' (length=5)  // 2 => string 'mongodb' (length=7)  // 3 =>   //   array  //     0 => string 'windows' (length=7)  //     1 => string 'nginx' (length=5)  //     2 => string 'mysql' (length=5)  //     3 => string 'php' (length=3)?>


14:数组元素由后往前删除array_pop()

<?php$arr=array('linux','apache','ngnix','php');array_pop($arr);   //删除最后一个元素 phpvar_dump($arr);array_pop($arr);   //删除倒数第二个元素,相对于原始数组var_dump($arr);// array//   0 => string 'linux' (length=5)//   1 => string 'apache' (length=6)//   2 => string 'ngnix' (length=5)//*********************************// array//   0 => string 'linux' (length=5)//   1 => string 'apache' (length=6)?>


15:数组元素由前往后删除array_pop()

<?php$arr=array('linux','apache','ngnix','php');array_shift($arr);   //删除第一个元素 phpvar_dump($arr);array_shift($arr);  //删除第第二个元素,相对于原始数组var_dump($arr);// array//   0 => string 'apache' (length=6)//   1 => string 'ngnix' (length=5)//   2 => string 'php' (length=3)// array//   0 => string 'ngnix' (length=5)//   1 => string 'php' (length=3)?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn