我正在尝试将数组值按顺序混合显示:
$array_one = array('a','b','c');
$array_two = array('1','2','3','4','5');
结果应为:
array('a','1','b','2','c','3','4','5');
谢谢。
答案 0 :(得分:1)
这可以为您提供所需的内容
$array_one = array('a','b','c');
$array_two = array('1','2','3','4','5');
$maxCount = max(array(count($array_one),count($array_two)));
$result = array();
for ($i=0; $i < $maxCount; $i++) {
if (!empty($array_one[$i])) {
$result[] = $array_one[$i];
}
if (!empty($array_two[$i])) {
$result[] = $array_two[$i];
}
}
var_dump($result);
输出
array(8) {
[0]=>
string(1) "a"
[1]=>
string(1) "1"
[2]=>
string(1) "b"
[3]=>
string(1) "2"
[4]=>
string(1) "c"
[5]=>
string(1) "3"
[6]=>
string(1) "4"
[7]=>
string(1) "5"
}
答案 1 :(得分:0)
如果两个数组具有相同数量的元素,则可以使用array_walk和array_combine来创建所需内容。
$array_one = array('a','b','c','d','e');
$array_two = array('1','2','3','4','5');
$combined_array = array_combine($array_one, $array_two);
array_walk($combined_array, create_function('$value, $key', 'echo "$key $value ";'));
答案 2 :(得分:-1)
您好@andrei首先找到两个数组的长度,为结果创建一个新数组,在内部循环中使用两个for循环,只需在新数组中赋值并递增循环。希望它能给你预期的结果。