天天看點

PHP常用數組函數系列--array_column

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