【发布时间】:2018-11-01 05:18:56
【问题描述】:
我在下面的 PHP 代码中有一个数组,我想将此数组转换为按数据值分组。简化数组总是很困难的
Array
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
[2] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[3] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
我期待这个数组:
(
[0] => Array
(
[ctg_name] => Beginner
[cat_id] => 1
[ data] => Array
(
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
)
)
[1] => Array
(
[ctg_name] => Mobility
[cat_id] => 3
[ data] => Array
(
[0] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[1] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
)
)
我试过了,但没有得到我预期的结果。
foreach($video as $val){
$result[$val['video_category']][] = $val;
}
返回如下:
Array
(
[1] => Array
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
)
[3] => Array
(
[0] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[1] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
)
有没有人有一个有效的方法来做到这一点? 请帮我 谢谢
Array
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
[2] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[3] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
我期待这个数组:
(
[0] => Array
(
[ctg_name] => Beginner
[cat_id] => 1
[ data] => Array
(
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
)
)
[1] => Array
(
[ctg_name] => Mobility
[cat_id] => 3
[ data] => Array
(
[0] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[1] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
)
)
我试过了,但没有得到我预期的结果。
foreach($video as $val){
$result[$val['video_category']][] = $val;
}
返回如下:
Array
(
[1] => Array
(
[0] => Array
(
[video_id] => 14
[video_title] => test1
[video_category_name] => Beginner
[video_category] => 1
)
[1] => Array
(
[video_id] => 18
[video_title] => test
[video_category] => 1
[video_category_name] => Beginner
)
)
[3] => Array
(
[0] => Array
(
[video_id] => 17
[video_title] => first
[video_category] => 3
[video_category_name] => Mobility
)
[1] => Array
(
[video_id] => 19
[video_title] => second
[video_category] => 3
[video_category_name] => Mobility
)
)
)
有没有人有一个有效的方法来做到这一点? 请帮我 谢谢
【问题讨论】:
标签: php arrays codeigniter