JSON 编码二维数组的第一列

问题描述 投票:0回答:2

我只需要对 n 行数组的第一列进行编码。

Array (
[0] => Array
    (
        [FamilyName] => Dikkartan, Bartu
        [Balance] => -2446.91
        [Mobile] => 0444497
        [HAddress] => 2/6 Tramsway Street
        [HSuburb] => Rosebery
        [HState] => NSW
        [HPCode] => 

    )

[1] => Array
    (
        [FamilyName] => King, Alan & Luka
        [Balance] => -1676
        [Mobile] => 0433 6090
        [HAddress] => 46/12 Hayberry Street
        [HSuburb] => Crows Nest
        [HState] => NSW
        [HPCode] => 

    ) ...

如何从

FamilyName
列值生成编码字符串。

php arrays json multidimensional-array data-conversion
2个回答
3
投票

使用 array_map 您可以将数组缩减为仅该元素。

$familyNames = array_map(function($object) {
    return $object['FamilyName'];
}, $objects);

json_encode($familyNames);

这使用 php 5.3 中提供的匿名函数,否则您需要使用 create_function 或对您已创建的现有函数的引用。请参阅 PHP callback 文档。

create_function('$object', 'return $object["FamilyName"];')

或者,您可以使用简单的 foreach 循环:

$familyNames = array();
foreach($objects as $object)
    $familyNames[] = $object['FamilyName'];

0
投票

使用

array_column()
按名称提取列,然后使用
json_encode()
提取值的平面数组。

echo json_encode(array_column($result, 'FamilyName'));
© www.soinside.com 2019 - 2024. All rights reserved.