Php 将多个数组中的数据合并到一个数组中

Php 将多个数组中的数据合并到一个数组中,php,Php,我编写了一个脚本,将来自多个数组的结果平均地组合在一起。这个脚本工作得很好,但我想做它更容易。我的php编程知识很差。我有一个问题要问有经验的程序员,你知道如何使用更好的解决方案获得相同的结果吗 我的代码: <?php $a = array('a','a','a','a','a','a','a','a'); $b = array('b','b','b','b','b','b','b','b'); $c = array('c','c','c','c','c','c','c','c'); $

我编写了一个脚本,将来自多个数组的结果平均地组合在一起。这个脚本工作得很好,但我想做它更容易。我的php编程知识很差。我有一个问题要问有经验的程序员,你知道如何使用更好的解决方案获得相同的结果吗

我的代码:

<?php
$a = array('a','a','a','a','a','a','a','a');
$b = array('b','b','b','b','b','b','b','b');
$c = array('c','c','c','c','c','c','c','c');

$count = count(array_merge($a, $b, $c));

$results = array();
for ($i=1; $i<$count; $i++){

    if (isset($a[$i]) && !empty($a[$i])){ $results[] = $a[$i]; } 
    if (isset($b[$i]) && !empty($b[$i])){ $results[] = $b[$i]; } 
    if (isset($c[$i]) && !empty($c[$i])){ $results[] = $c[$i]; } 
}

print_r($results); // array(a, b, c, a, b, c ..)
?>

$a=array('a'、'a'、'a'、'a'、'a'、'a'、'a'、'a'、'a');
$b=数组('b','b','b','b','b','b','b','b','b','b');
$c=数组('c','c','c','c','c','c','c','c','c','c');
对于($i=0;$i
请注意,在代码中,您是从$i=1开始的,而您可能希望从$i=0开始(数组的第一个条目是0,而不是1)


代码可以根据需要进一步改进:如果您只有3个数组,而且这不是非常重要,那么应该这样做

您已经在进行合并了,为什么还要再次进行合并?如果您的问题是删除空单元格,请在合并后进行筛选。问题是,我在多个数组中有相同的数据,并且我希望按照它在代码中接收的方式对其进行排列。对于给定的示例,您预期的输出是什么<代码>a,a,a,…,b,b,b,…,c,c,…
?a,b,c…a,b,c…重复?
$a = array('a','a','a','a','a','a','a','a');
$b = array('b','b','b','b','b','b','b','b');
$c = array('c','c','c','c','c','c','c','c');


for ($i=0; $i < max(count($a), count($b), count($c)) ; $i++) {
    foreach (array('a', 'b', 'c') as $l) {
        if (!isset($$l[$i]) || empty($$l[$i])) {continue; };
        $results[] = $$l[$i];
    };
}; 


print_r($results);