Php 按主控和辅控设置多维数组的样式
我有以下问题。。。搔了几个小时的头后,我想不出来了。。 所以我们走吧。。。我以前使用过数组,但只是一个简单数组Php 按主控和辅控设置多维数组的样式,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有以下问题。。。搔了几个小时的头后,我想不出来了。。 所以我们走吧。。。我以前使用过数组,但只是一个简单数组 $arr = array('1', '2', '3',[...]); 我可以处理这种数组,就在几天前我开始学习多维数组的。。。他们应该被称为多维噩梦。。。不管怎样,我有一个多维数组,按名称从SQL中排序。。。无论如何。。。该数组需要组织,感谢stackoverflow中一个名为Edakos的用户,我的数组通过主猫和它的子猫进行了组织。。。 我的数组现在看起来像这样 Array (
$arr = array('1', '2', '3',[...]);
我可以处理这种数组,就在几天前我开始学习多维数组的。。。他们应该被称为多维噩梦。。。不管怎样,我有一个多维数组,按名称从SQL中排序。。。无论如何。。。该数组需要组织,感谢stackoverflow中一个名为Edakos的用户,我的数组通过主猫和它的子猫进行了组织。。。
我的数组现在看起来像这样
Array
(
[10] => stdClass Object
(
[category_id] => 10
[category_name] => Main Category
[category_parent_id] => 0
[category_child_id] => 10
[children] => Array
(
[196] => stdClass Object
(
[category_id] => 196
[category_name] => Sub Category 1
[category_parent_id] => 10
[category_child_id] => 196
[children] => Array
(
)
)
[198] => stdClass Object
(
[category_id] => 196
[category_name] => Sub Category 2
[category_parent_id] => 10
[category_child_id] => 198
[children] => Array
(
)
)
[.....]
);
现在,我尝试设计这个数组的样式
foreach($tree as $cats => $info){
echo '<span> ID: ' . $cats . '</span><br>';
foreach($info as $k => $v){
echo '<span style="margin-left:10px; color:red;">' . $v ['category_name'] . ' </span><br>';
}
}
其中ID:是确定的主类别的ID。。。数据是主要类别的数据,例如ID、名称、父ID、子ID,这是主要的cat ID
数组看起来像这样
[10] => stdClass Object
(
[category_id] => 10
[category_name] => Main Category
[category_parent_id] => 0
[category_child_id] => 10
[children] => Array
(....
我的理解是[KEY]=>ARRAY KEY=>val,KEY=>val。。。儿子。。。直到数组中包含子类别的关键子项
因此,正如我在代码中所写:
foreach($info as $k => $v){
echo '<span style="margin-left:10px; color:red;">' . $v ['category_name'] . ' </span><br>';
}
我必须注意,这是我第一次尝试使用多维数组,任何帮助都将不胜感激
感谢您花时间阅读此多维噩梦首先,您迭代主数组,然后迭代子对象数组。这里处理的是对象,所以表示法是$object->variablename,而不是$array['variablename']
foreach ( $tree as $cats => info){
echo '<span> cat: ' . $info->category_name. '</span><br>';
foreach ($info->children as $child){
echo '<span>' . $child->category_name . '</span>';
}
}
谢谢你澄清,现在我明白了。。。谢谢你的例子
foreach($info as $k => $v){
echo '<span style="margin-left:10px; color:red;">' . $v ['category_name'] . ' </span>
foreach ($k[children] as $sk => $sv){
echo '<span style="margin-left:10px; color:green;">' . $sv ['category_name'] . ' </span>
}
<br>';
}
Main cat 1
|_Sub Cat 2
|_Sub Cat 4
|_Sub Cat 6
Main Cat 2
|_Sub Name 2
|_Sub Names 3
[... and son ] ...
foreach ( $tree as $cats => info){
echo '<span> cat: ' . $info->category_name. '</span><br>';
foreach ($info->children as $child){
echo '<span>' . $child->category_name . '</span>';
}
}