您的位置:首页 > 编程语言 > PHP开发

PHP 数组操作积累记录

2016-02-20 11:31 519 查看
PHP中操作数组是最基本最常用的操作,PHP内置了许多方便的函数提供给我们使用,但是官方文档的翻译有时候并不是那么好理解,并且有些函数平时隔段时间不用很多概念会搞混。好记性不如烂笔头,我会慢慢把平时一些用起来的函数在这里记录,并做demo用于理解和参考。

1.数组合并

数组合并原本是一个很简单的东西,但是越是简单的东西越容易忘记,特别是很少使用的时候。。。。

<?php
echo "<PRE>";
$arr1=[1,2,3];
$arr2=[4,5,6];
//1.PHP数组合并函数
$arr3=array_merge($arr1,$arr2);
var_dump($arr3);
//2.直接数组相加 有顺序 重复键取旧值,并没有达到值合并的需求
$arr3=$arr1+$arr2;
var_dump($arr3);
//3.
$arr3=$arr2+$arr1;
var_dump($arr3);

//4.这种给大家理解一下push,是不行的
array_push($arr1,$arr2);
var_dump($arr1);
结果:

1.
array(6) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
}
2.
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
3.
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
4.
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
}

2.数组去重

<?php
echo "<PRE>";
$arr1=[1,3,3,5,5,6];
//1.PHP自带去重函数
$arr2=array_unique($arr1);
var_dump($arr2);

/**
* 2.取巧方法,据说速度更快
* array_flip 是将【键和值】对换,当【键的值】相同时后面的值会覆盖前面的值,这一点是和array_unique结果不同的
* 利用这种特性,翻转两次进行去重
*/
$arr2=array_flip(array_flip($arr1));
var_dump($arr2);
结果:(注意结果不同处)

1.
array(4) {
[0]=>
int(1)
[1]=>
int(3)
[3]=>
int(5)
[5]=>
int(6)
}
2.
array(4) {
[0]=>
int(1)
[2]=>
int(3)
[4]=>
int(5)
[5]=>
int(6)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP