1---数组中元素值的返回------->array_values();
2---数组中键名的返回---------->array_keys();
//这两个函数的返回值也同样是数组,下表改变为索引,从0开始
<?php $arr = array( ‘brand1‘=>‘lumia800‘, ‘brand2‘=>‘lumia900‘, ‘brand3‘=>‘lumia640xl‘ ); echo "<pre>"; var_dump(array_values($arr)); echo "</pre>"; echo "<hr color=red/>"; echo "<pre>"; var_dump(array_keys($arr)); echo "</pre>";
//程序的结果如下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=9 echo ‘数组$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 6 rsort($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,3 var_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)); //nginx var_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); //删除最后一个元素 php var_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); //删除第一个元素 php var_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) ?>
原文:http://my.oschina.net/dongdong11019/blog/490927