如何在PHP中将数组推入数组中的数组
大家好,我有以下代码:如何在PHP中将数组推入数组中的数组,php,arrays,json,Php,Arrays,Json,大家好,我有以下代码: $shops = array(); foreach($json as $var) { if (in_array($var['shop'], $shops)) {} else { array_push($shops,$var['shop']); array_push($shops->$var['shop'],array('revenue' => 0, 'numberofbooks' => 0));
$shops = array();
foreach($json as $var)
{
if (in_array($var['shop'], $shops)) {}
else
{
array_push($shops,$var['shop']);
array_push($shops->$var['shop'],array('revenue' => 0, 'numberofbooks' => 0));
}
}
我希望:
Shops
=> shop1
=> revenue
=> numberofbooks
=>shop2
=> revenue
=> numberofbooks
但是插入第三个数组不起作用,有人能帮我吗?试试这个:
$shops = array();
foreach($json as $var){
if (!isset($shops[$var['shop']])){ // use ! as "not", and use isset()
$shops[$var['shop']] = array('revenue' => 0, 'numberofbooks' => 0);
}
}
PHP的in_array()
检查数组中是否存在值,而不是是否存在键。试试这个(未测试)
您使用的是对象子表示法而不是数组,即
obj->var
而不是Arr[child]
$shop = array();
foreach($json as $var)
{
if(!in_array($var['shop'], $shop)){
$shops[$var['shop']] = array('revenue' => 0, 'numberofbooks' => 0);
}
}