php - 基于多维数组级别创建数组
问题描述
$array
看起来像这样。
Array
(
[CategoryID] => 4352
[CategoryLevel] => 3
[CategoryName] => Tags
)
Array
(
[CategoryID] => 3243
[CategoryLevel] => 2
[CategoryName] => Actions
)
Array
(
[CategoryID] => 2342
[CategoryLevel] => 3
[CategoryName] => Tags
)
等等。
我尝试过使用 foreach 循环
$newarray = array();
foreach ($array as $key => $value) {
$categorylevel = $value['CategoryLevel'];
$newarray[][$categorylevel] = $categorylevel;
}
但输出看起来像这样:
Array
(
[0] => Array
(
[3] => 4352
)
[1] => Array
(
[2] => 3243
)
[2] => Array
(
[3] => 2342
)
. . . . . . . .
而不是我想要的输出
Array
(
[2] => Array
(
[0] => 3243
)
[3] => Array
(
[0] => 4352
[0] => 2342
)
. . . . . . . .
如何修改我的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;
}
输出:
. . . . . . . .
. . . . . . . .
[4] => 5967
[5] => 6756
[6] => 9933
)
解决方案
你有一个非常简单的错误。这条线是错误的。
$newarray[][$categorylevel] = $categorylevel;
它应该是:
$newarray[$categorylevel][] = $value['CategoryID'];
推荐阅读
- python - 一起使用 Mapfield 和 DynamicEmbeddedDocument 时出现 InvalidDocumentError
- javascript - 消息的含义是什么:string[] = []; 在角度类?
- python - 如何强制子类具有 __slots__?
- scala - spark.read 不是包 org.apache.spark 的成员
- qliksense - 在css中设置标题图片
- python - 如何修复代码以根据 X1 和 X2 预测 Y
- python - 一个数组的元素如何分配另一个数组?
- r - 在r编程中,如何在整个文档中生成具有通用页眉和脚注的rtf文档
- python - Python; 通过正则表达式从字符串中解析带有点的版本号
- java - 这两种冒泡排序算法有什么区别?