我正在尝试混合数组值以按顺序显示:
$array_one = array('a','b','c');
$array_two = array('1','2','3','4','5');
结果应该是:
array('a','1','b','2','c','3','4','5');
谢谢你。
这给了你你想要的
$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"
}
如果两个数组具有相同数量的元素,您可以使用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 ";'));
嗨@andrei,您首先找到两个数组的长度,为结果创建一个新数组,在内部循环中使用两个for循环,只需分配新数组中的值并增加循环。希望它能给你预期的结果。