array_column(array $array, $column, $index_key = null): array
官方定義:Return the values from a single column in the input array。即從輸入的數組中傳回某列的值。
常見的三個使用場景
1、從二維數組中擷取某一列的值,傳回一個新的數組。
<?php
// 使用場景:從資料庫傳回的資料中取出某列的值。
$rows = array(
array('id' => , 'name' => 'lenbo'),
array('id' => , 'name' => 'niuniu'),
array('id' => , 'name' => 'liuliu'),
);
$ids = array_column($rows, 'id');
print_r($ids);// 得到$ids = array(1, 2, 3);
2、 從二維數組中傳回以$index_key => $column的鍵值對。
// 使用場景:枚舉值映射。
$rows = array(
array('code' => 'h5', 'text' => 'H5浏覽器'),
array('code' => 'alipay', 'text' => '支付寶浏覽器'),
array('code' => 'wechat', 'text' => '微信浏覽器'),
);
$map = array_column($rows, 'text', 'code');
echo $map['h5'];// H5浏覽器
echo $map['alipay'];// 支付寶浏覽器
echo $map['wechat'];// 微信浏覽器
3、 将某列的值作為二維數組的索引
$rows = array(
array('code' => 'h5', 'text' => 'H5浏覽器'),
array('code' => 'alipay', 'text' => '支付寶浏覽器'),
array('code' => 'wechat', 'text' => '微信浏覽器'),
);
$map = array_column($rows, 'text', 'code');
print_r($map['alipay']);// array('code' => 'alipay', 'text' => '支付寶浏覽器')
原文連結:http://www.lbog.cn/blog/36