例如
,如何保存数组,
['name' => 'Some_name_1', 'Quantity' => 176],
['name' => 'some_name_2', 'Quantity' => 1096],
['name' => 'some_name_3', 'Quantity' => 1598],
从foreach循环?
例如,我通过应用以下形式的 array_count_values()
函数从另一个数组中获取这些值:
Array
(
[Some_name_1] => 176
[Some_name_2] => 1096
[Some_name_3] => 1598
)
当我像这样应用foreach()
时
foreach($values as $index => $value){
$stats=['name'=>$index,'Quantity'=>$value];
}
我只得到存储在新数组中的一个值,而不是三个值。
Array
(
[name] => Some_name_3
[Quantity] => 1598
)
(Some_name_1,Some_name_2未存储在数组中)
如何将所有这些保存在数组中?我错过了什么?
推送到数组,你的语法不正确。
foreach(values as $index=>$value)
{
array_push($stats, array('name'=>$index, 'quantity'=>$value));
}
或者正如 Matt 上面所说,替代语法:
foreach(values as $index=>$value)
{
$stats[] = array('name'=>$index, 'quantity'=>$value);
}
在 foreach 循环中,您不会附加到数组中 - 而是在每次迭代值数组时覆盖。
使用下面的示例追加到数组而不是覆盖。
新功能:
foreach($values as $index => $value){
$stats[]=['name'=>$index,'Quantity'=>$value];
}