PHP添加到多维数组

时间:2017-04-17 19:00:39

标签: php multidimensional-array

我正在使用ajax设置一个Jquery autosuggest,我对数据库有一个简单的查询,返回5个建议。这些字段是公司和id,所以我得到

$result['id']
$result['company']

返回的数据库建议的每一行

这很好用,目前我循环结果

foreach ($result as $item) {
$suggest[] = $item['company'];

}

echo json_encode($suggest);

我想要添加这些,所以公司是一个标签,id是一个值,类似于

 "value": "A Company", "data": "20"

然后,我可以在我的autosuggest中编码和使用。

提前致谢!

2 个答案:

答案 0 :(得分:2)

你必须像这样将数组保存到主数组

foreach ($result as $item) {
    $suggest[] = [
        'value' => $item['company'],
        'data' => $item['id'],
    ]
}

echo json_encode($suggest);

它应该返回类似这样的东西

[
    {
        'value': 'Some value',
        'data' : item id
    }
]

答案 1 :(得分:0)

我建议您创建一个数组,然后再创建2个数组作为值和数据键的值。 像这样。

$arr=array();
$arr['value']=array();
$arr['data']=array();

while($suggest=mysql_fetch_assoc($result)){
    array_push($arr['value'],$suggest['id']);
    array_push($arr['data'],$suggest['company']);
}

echo "<pre>";
print_r($arr);

请注意,使用此解决方案,如果删除值或数据中的条目 准备好删除另一个数组中的相应条目。 其他人可能能够改善这一点,甚至提供更好的方法。