php - 如何对多维数组进行分组和回显
问题描述
我想从我的数据库中回显多维数组,我试图在 stackoverflow 中搜索,但我无法很好地实现。
这是我的数组:
Array (
[0] => Array (
[product_name] => BMW
[category_name] => Car
)
[1] => Array(
[product_name] => Jaguar
[category_name] => Car
)
[2] => Array(
[product_name] => Toyota
[category_name] => Car
)
[3] => Array (
[product_name] => Jeep
[category_name] => Car
)
[4] => Array (
[product_name] => Ducati
[category_name] => Bike
)
)
我需要将此数组分组为:
Array(
[0] => Array(
[category_name] => Car
[product_name] => Array(
[0] => Array(
[product_name] => BMW
)
[1] => Array(
[product_name] => Toyota
)
[2] => Array(
[product_name] => Jaguar
)
[3] => Array(
[product_name] => Jeep
)))
[1] => Array (
[category_name] => Bike
[product_name] => Array
(
[0] => Array
(
[product_name] => Ducati
)) )
然后回显到 html 列表:
汽车: - 宝马 - 丰田 - 捷豹 - 吉普
自行车: - 杜卡迪
请帮忙..谢谢
解决方案
这是您的代码段,请参阅内联文档以获取解释
$temp = [];
foreach ($arr as $key => $value) {
$temp[$value['category_name']]['category_name'] = $value['category_name']; // first category assigned
$temp[$value['category_name']]['product_name'][] = $value['product_name']; // grasping all values for same category name
}
foreach ($temp as $key => $value) {
echo $value['category_name'].':- '. implode(" - ", $value['product_name']).'<br>'; // creation of string
}
工作演示。
推荐阅读
- tensorflow - tf.trainable_variables() 返回一个空白列表
- python - Biopython 是否有“排除未培养的样本”和“类型材料中的序列”的论据?
- python - 如何根据行的值 Pandas 数据框查找两个不同的范围
- ruby - 无法解决 Heroku NoMethodError
- python - 如何在没有 Jupyter Notebook 崩溃的情况下显示 DataFrame?
- python - ProcessPoolExecutor 只读变速差异
- python - obj.xyz 形式的点表示法
- c - 递归两个列表之间的差异
- c# - 如何修复 VerticalLineAnnotation 始终将绑定设置为零
- c# - implement datatable js in Asp.Net API server side processing