PHP常用的一些數組操作總結

1、array_values() :返回包含數組中所有鍵值的數組,不保留鍵名。

2、array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值。

3、array_unique():去重,保留鍵名,重複值只保留第一個

4、array_merge():把兩個或多個數組合併爲一個數組,相同鍵名的會被後邊的覆蓋。

5、array_filter() :去除數組中的空值,包括null、‘’、false、0等。

6、array_sclice():從數組中取出某一段值作爲一個數組

一個簡單的應用場景就是,取出來的數據需要分兩段來顯示,兩端的樣式又不相同

7、array_chunk():將一個數組分割成幾個相等數量元素的數組,返回一個二維數組

如:$a = array('1','2','3','4');  var_dump(array_chunk($a,2));結果爲:array('0'=>array('1','2'),'1'=>array('3','4'));

8、array_shift():取出數組中第一個元素值     如:echo array_shift(array('1'));   結果爲1

9、

$user = array(
0 => array(
'id' => 1,
'name' => '張三',
'email' => '[email protected]',
),
1 => array(
'id' => 2,
'name' => '李四',
'email' => '[email protected]',
),
2 => array(
'id' => 5,
'name' => '王五',
'email' => '[email protected]',
),
......
);

現在有這樣的兩個需求:
1)獲取索引"id"的集合,並且保存爲一個一位數組,即得到 array(1,2,5)
代碼如下:
$ids = array();
$ids = array_map('array_shift', $user);
還有一種方案需要 PHP 版本 >= 5.5.0),使用 array_column 函數

代碼如下:

$ids = array();
$ids = array_column($user, 'id');
這樣的話,效率會更高了。

2)獲取索引"name"的集合,並且保存爲一個一位數組,即得到 array('張三','李四',‘王五')
代碼如下:
$names = array();
$names = array_reduce($user, create_function('$v,$w', '$v[$w["id"]]=$w["name"];return $v;'));
得到結果:
array(
1 => '張三',
2 => '李四',
5 => '王五',
);

10、array_search:從一個數組中搜索指定的值,返回鍵值,只能精確匹配,只匹配一個
例如:array_search('你好',array('0'=>'123','1'=>'你好嗎','2'=>'你好')),返回鍵值2.

總結:php函數還是要玩熟練,不然代碼效率岌岌可危啊...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章