[英]Creating Array Based off Multidimensional Array Levels
$array
looks like this. $array
看起来像这样。
Array
(
[CategoryID] => 4352
[CategoryLevel] => 3
[CategoryName] => Tags
)
Array
(
[CategoryID] => 3243
[CategoryLevel] => 2
[CategoryName] => Actions
)
Array
(
[CategoryID] => 2342
[CategoryLevel] => 3
[CategoryName] => Tags
)
and so forth. 等等。
I've tried with a foreach loop 我已经尝试过foreach循环
$newarray = array();
foreach ($array as $key => $value) {
$categorylevel = $value['CategoryLevel'];
$newarray[][$categorylevel] = $categorylevel;
}
But the output looks like such: 但是输出看起来像这样:
Array
(
[0] => Array
(
[3] => 4352
)
[1] => Array
(
[2] => 3243
)
[2] => Array
(
[3] => 2342
)
. . . . . . . .
Instead of my desired output of 而不是我想要的输出
Array
(
[2] => Array
(
[0] => 3243
)
[3] => Array
(
[0] => 4352
[0] => 2342
)
. . . . . . . .
How can I modify my foreach
code to produce my desired output? 如何修改我的foreach
代码以产生所需的输出?
Simply putting it in the $newarray key only brings back the last iterations of the Category Levels value
$newarray = array();
foreach ($array as $key => $value) {
$categorylevel = $value['CategoryLevel'];
$newarray[$categorylevel] = $categorylevel;
}
output: 输出:
. . . . . . . .
. . . . . . . .
[4] => 5967
[5] => 6756
[6] => 9933
)
You have a very simple mistake. 您有一个非常简单的错误。 This line is wrong. 这行是错误的。
$newarray[][$categorylevel] = $categorylevel;
It should instead be: 相反,它应该是:
$newarray[$categorylevel][] = $value['CategoryID'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.