php编码json数组只是第一列

时间:2011-03-10 06:44:24

标签: php json jquery-autocomplete

我需要只包含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]创建一个数组, - 我想让它与jquery自动完成一起使用,所以在从自动完成中选择名称之后,我使用此名称在完整数组中再次搜索并使用数组中的数据填充一些文本字段

  • 我需要搜索数组,因为数据是从sql中获取的,但我无法在db中搜索,只需使用数组数据,

  • 这是一条好路径,还是应该采用其他路径为名称做一些自动填充,然后让我的文本字段填充该数组中的数据

非常感谢!

1 个答案:

答案 0 :(得分: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'];