将关联数组作为一个关联数组推送
push an associative arrays as a one associative array
我有这种所需的关联数组格式(请参阅下文)
$url = array (
"a1" => array(
'k1' => "content of k1 in a1 array",
'k2' => "content of k2 in a1 array"
),
"a2" => array(
'k1' => "content of k1 in a2 array",
'k2' => "content of k2 in a2 array"
),
);
在 Laravel 中,我在数据库 table 中检索了一条记录并对其进行循环,然后获取其值并将其推送到数组中。
$k = kk::with('kk_names')->get();
$k_array = array();
foreach($k as $item){
$sr = array($item->name => array("k1" => $item->items[0]->description,"k2" => $item->items[1]->description))
array_push($k_array,$sr);
}
它确实有效,但关联数组格式(参考上面的关联数组格式)不是我想要的,它给了我这个。
$url = array (
array("a1" => array(
'k1' => "content of k1 in a1 array",
'k2' => "content of k2 in a1 array"
)),
array("a2" => array(
'k1' => "content of k1 in a2 array",
'k2' => "content of k2 in a2 array"
)),
);
有什么想法,请帮忙?
array_push
将元素推到 array
的末尾。你这样做 -
array_push(array(...), array($item->name => ...));
哪个会给出 -
array (
array($item->name => ...),
array($item->name => ...)
)
但是根据您想要的输出,您希望 $item->name
成为索引,数组('k1' ...)成为元素。
你可以简单地做 -
foreach($k as $item) {
$k_array[$item->name] = array(
"k1" => $item->items[0]->description,
"k2" => $item->items[1]->description
);
}
在 foreach
循环中执行此操作。
foreach($k as $item){
$k_array[$item->name] = array(
"k1" => $item->items[0]->description,
"k2" => $item->items[1]->description
)
}
而且您不需要使用 array_push($k_array,$sr);
我有这种所需的关联数组格式(请参阅下文)
$url = array (
"a1" => array(
'k1' => "content of k1 in a1 array",
'k2' => "content of k2 in a1 array"
),
"a2" => array(
'k1' => "content of k1 in a2 array",
'k2' => "content of k2 in a2 array"
),
);
在 Laravel 中,我在数据库 table 中检索了一条记录并对其进行循环,然后获取其值并将其推送到数组中。
$k = kk::with('kk_names')->get();
$k_array = array();
foreach($k as $item){
$sr = array($item->name => array("k1" => $item->items[0]->description,"k2" => $item->items[1]->description))
array_push($k_array,$sr);
}
它确实有效,但关联数组格式(参考上面的关联数组格式)不是我想要的,它给了我这个。
$url = array (
array("a1" => array(
'k1' => "content of k1 in a1 array",
'k2' => "content of k2 in a1 array"
)),
array("a2" => array(
'k1' => "content of k1 in a2 array",
'k2' => "content of k2 in a2 array"
)),
);
有什么想法,请帮忙?
array_push
将元素推到 array
的末尾。你这样做 -
array_push(array(...), array($item->name => ...));
哪个会给出 -
array (
array($item->name => ...),
array($item->name => ...)
)
但是根据您想要的输出,您希望 $item->name
成为索引,数组('k1' ...)成为元素。
你可以简单地做 -
foreach($k as $item) {
$k_array[$item->name] = array(
"k1" => $item->items[0]->description,
"k2" => $item->items[1]->description
);
}
在 foreach
循环中执行此操作。
foreach($k as $item){
$k_array[$item->name] = array(
"k1" => $item->items[0]->description,
"k2" => $item->items[1]->description
)
}
而且您不需要使用 array_push($k_array,$sr);