我已经进行了很多搜索,而且我是php的初学者,我不知道我该写什么题目,所以对不起,我正在尽力解释我想要的东西。请帮我。
我有两个数组
Array
(
[0] => vodlocker
[1] => vodlocker
[2] => vodlocker
[3] => vidzi
[4] => vodlocker
)
Array
(
[0] => vod1
[1] => vod2
[2] => vod3
[3] => vidzi1
[4] => vod4
)
我想将第一个数组作为键,第二个作为值,如果第一个数组具有相同的键,那么第二个数组的值将被合并为相同的键,我很抱歉,如果不能很好地解释它,但是我的结果会告诉我我想要。
结果:
Array
(
vodlocker => array(vod1, vod2, vod3, vod4)
vidzi => array(vidzi1)
)
我已经试过了。
注意:$ host是我的第一个数组,$ source是我的第二个数组,如上所示
$data = [];
$linkarray = [];
foreach($host as $key => $ho){
array_push($linkarray, $source[$key]);
$data[$ho] = $linkarray;
}
array:2 [▼
"vodlocker" => array:5 [▼
0 => "vod1"
1 => "vod2"
2 => "vod3"
3 => "vidzi1"
4 => "vod4"
]
"vidzi" => array:4 [▼
0 => "vod1"
1 => "vod2"
2 => "vod3"
3 => "vidzi1"
]
]
我相信这段代码可以解决您的问题:
$array1 = array(
0 => "vodlocker",
1 => "vodlocker",
2 => "vodlocker",
3 => "vidzi",
4 => "vodlocker"
);
$array2 = array(
0 => "vod1",
1 => "vod2",
2 => "vod3",
3 => "vidzi1",
4 => "vod4"
);
$res = array();
for($i = 0; $i < 5; $i++)
{
if(!isset($res[$array1[$i]]))
$res[$array1[$i]] = array();
$res[$array1[$i]][] = $array2[$i];
}
print_r($res);
输出:
Array
(
[vodlocker] => Array
(
[0] => vod1
[1] => vod2
[2] => vod3
[3] => vod4
)
[vidzi] => Array
(
[0] => vidzi1
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句