我想从中为网站创建一些epg.由于我没有经验,不幸的是我很难
我有两个数组
Array
(
[0] => Array
(
num] => 1
[name] => name 1
[epg_channel_id] => ch111
[added] => 1505435915
)
[1] => Array
(
num] => 2
[name] => name 2
[epg_channel_id] => ch222
[added] => 1505435915
)
[2] => Array
(
[num] => 3
[name] => name 3
[epg_channel_id] => ch333
[added] => 1505435915
)
[3] => Array
(
[num] => 4
[name] => name 4
[epg_channel_id] => ch444
[added] => 1505435915
)
第二阵列
Array
(
[0] => Array
(
[ch000] => Um9jayBJbiBSaW8=
)
[1] => Array
(
[ch111] => Um9jayBJbiBSaW8=
)
[2] => Array
(
[ch222] => Um9jayBJbiBSaW8=
)
[3] => Array
(
[ch333] => Um9jayBJbiBSaW8=
)
[4] => Array
(
[ch444] => Um9jayBJbiBSaW8=
)
我想输出这样的东西,使用epg_channel_id将第二个数组值推入第一个数组
Array
(
[0] => Array
(
[num] => 1
[name] => name 1
[epg_channel_id] => ch111
[added] => 1505435915
[ch111] => Um9jayBJbiBSaW8=
)
我尝试了array_recursive,数组合并并不起作用.
一世
解决方法:
如果两个数组中的相应索引保证具有相同的通道ID,则这将非常有效.例如,如果$array1 [0]保证与$array2 [0]具有相同的通道ID,则此解决方案将很好地工作:
$combined = [];
foreach($array1 as $key=>$val){
$combined[$key] = $val + $array2[$key];
}
但是,如果不保证相应的索引具有相同的通道ID,则此解决方案将不起作用,您将需要使用其他发布的答案之一.
如果您使用此方法,最后一个注意事项是,如果数组的大小不同,您将希望最大的数组为$array1.所以,只需进行比较,看看哪个元素最多.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。