<?php

header("Content-type:text/html;charset=utf8");

//1. array_shift:将数组开头的元素移出数组 出栈 影响原数组

$arr=array(1,2,3,4,5,6,7,8,9);

echo array_shift($arr);

echo "<hr />";

//2. array_unshift:向数组开头添加一个或更多个元素,所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。  入栈,影响原数组

//array_unshift(array,var)  array:目标数组,var:变量,可以多个

array_unshift($arr,5,4,2);

print_r($arr);

echo "<hr />";

//3. array_push:向数组末尾压入一个或多个元素,影响原数组

// array_push($arr,var)   array:目标数组,  var: 变量,可以多个

//注意:如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。 

$arr=array("green","blue","white","black");

print_r($arr);

array_push($arr,"red");

print_r($arr);

echo "<hr />";

//4. array_pop:弹出数组末尾的一个元素

$arr=array(1,2,3,4,566,9);

echo array_pop($arr);

echo "<hr />";

/*

入栈

array_unshift() 向数组开头加入一个元素,如果键值为数字则重新排,为字符则不变

array_push()  向数组末尾加入一个元素,如果键值为数字则重新排,为字符则不变

出栈:

array_shift()  将数组开头第一个弹出,

array_pop()    将数组末尾弹出

*/

/*

5. shuffle:将数组打乱(转换为索引数组)

shuffle:洗牌,打乱

shuffle(array),返回布尔值,影响原数组

*/

$arr=array(1,2,3,4,5,6,7,8,9);

shuffle($arr);

foreach($arr as $key => $value){

echo $key."=>".$value."<br>";

}

echo "<hr />";

/*

6. 数组排序  

sort:对数组进行排序(排序之后重新索引)

rsort:对数组进行逆向排序

asort:对数组进行排序并保持索引关系

arsort:对数组进行逆向排序并保持索引关系

natsort:用自然顺序算法对数组进行排序

natcasesort:natsort忽略大小写的版本

ksort:对数组按照键名进行排序

krsort:对数组按照键名逆向排序

usort:使用用户自定义的比较函数对数组的值进行排序

uasort:使用用户自定义的比较函数对数组的值进行排序并保持索引关系

uksort:使用自定义的比较函数对数组的键名进行排序

*/

$arr=array(2,4,51,24,1,124,15535,14214,122);

$arr2=array('name'=>'xiaozhang','age'=>12,'height'=>'178','weight'=>'60kg');

ksort($arr);

print_r($arr);

echo "<hr />";

/*

  7.   array_flip();交换键和值,如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。 

*/

echo "翻转键值";

$arr=array(1,2,3,55,55,55,535);

$arr2=array_flip($arr);

print_r($arr);

print_r($arr2);

echo "<hr />";

/*

8.  array_rand:随机从数组中抽取一个或多个元素的键

array_rand($array,num),$array:目标数组,num:取出个数;  

notice: num大于1的时候返回一个随机键的数组,否则返回一个随机键名

*/

$arr=array(1,2,3,4,5,6,'lev'=>'a','sda'=>366);

print_r($arr);

$arr2=array_rand($arr,2);

print_r($arr2);

echo "<hr />";

/*

9.  array_replace:使用后面的数组中元素替换第一个数组中的元素

使用后面数组元素的值替换第一个 array 数组的值。如果一个键存在于第一个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。

如果一个键存在于第二个数组,但是不存在于第一个数组,则会在第一个数组中创建这个元素。如果一个键仅存在于第一个数组,它将保持不变。

如果传递了多个替换数组,它们将被按顺序依次处理,后面的数组将覆盖之前的值。 

*/

$arrYuan=array(

'name'=>'xiaoming',

'age'=>16,

'height'=>170,

'weight'=>'67kg',

'run'=>20

);

$arrTi=array(

'zuoyouming'=>'i like run',

'like'=>'football',

'eat'=>'ice cream',

'name'=>'xiaohong'

);

$arrNew=array_replace($arrYuan, $arrTi);

print_r($arrNew);

echo "<hr />";

/*

10.  array_chunk(),把数组分割为新的数组块。其中每个数组的单元数目由 size 参数决定。最后一个数组的单元数目可能会少几个。

array_chunk(array,size)  array:目标数组, size: 分割大小

*/

 $arr=array('name'=>'Mr.li','family'=>'li','son'=>2,'menber'=>'5');

 $arr2=array_chunk($arr,2);

foreach($arr2[1] as $key=> $value ){

 

  echo $key."=>".$value."<br>";

 }

echo "<hr />";

/*

11.array_slice() 数组中根据条件取出一段值,并返回,返回数组中的选定部分。

   array_slice(array,start,length,preserve) array:目标数组,start:开始位置,  length:长度 可以为负值,  preserve:是否保留键名

   不影响原数组

*/

$arr=array('green','blue','red','black','double');

$arr2=array_slice($arr,2);

print_r($arr);

print_r($arr2);

echo '<hr />';

/*

12. array_splice() 删除数组中某段值并将其返回,(取出数组中某段值,影响原数组)

array_splice(array,start,length,array)   array:目标数组,  start:开始位置, length:长度 可以为负值, array:可选参数,规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组

*/

$arr=array('green','blue','red','black','double');

$arr2=array_splice($arr,2);

print_r($arr);

print_r($arr2);

echo '<hr />';

/*

13. array_reverse() 函数以相反的元素顺序返回数组。函数将原数组中的元素顺序翻转,创建新的数组并返回。

如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

注意:array_flip()是将键值翻转,而array_reverse()是将元素顺序翻转(倒序)

*/

$arr=array('color'=>'green','width'=>'138px','height'=>'50px','order'=>'DESC');

$arr2=array_reverse($arr,true);

print_r($arr);

print_r($arr2);

echo "<hr />";

/*

14. array_unique(array)函数移除数组中的重复的值,并返回结果数组。当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。返回的数组中键名不变。

*/ 

$a=array("a"=>"red","b"=>"green","c"=>"red");

print_r(array_unique($a));


最后修改:2018 年 03月 31日 23:13:06

文章声明:非特殊说明,本文版权归 浅唱春天博客 所有,转载请注明出处
本文标题:PHP常用数组总结
本文标签:PHP,数组
如果觉得本篇文章对你有用,请随意赞赏;赞赏将用于服务器、域名开支