使用php合并多个数组

时间:2014-05-29 06:12:05

标签: php arrays excel parsing xlsx

我目前正在试图弄清楚如何在php中合并一组数组。

foreach ($Col as $Row)
{   
    echo("<pre>");
      print_r($Row); // This returns the arrays below
    echo("</pre>");
}  

当我运行foreach语句时,它返回以下内容:

Array
(
  [0] => First Name
  [1] => Last Name
  [2] => Username
)

Array
(
  [0] => Bob
  [1] => Dill
  [2] => DBob
)


Array
(
  [0] => Amy
  [1] => Simpson
  [2] => Asimp
)

Array
(
  [0] => Doug
  [1] => James
  [2] => LJames
)

无论如何,我可以将以下数组合并到一个数组中,因为我只对从所有数组中获取用户名并将它们合并到一个新数组感兴趣。

2 个答案:

答案 0 :(得分:1)

由于您想获取用户名,可以:

  1. 直接指出(指数2)

  2. 弹出第一个数组(看起来像标题),搜索可以用作标记的username

  3. 确定它的位置后,您可以在一个简单的循环中使用它。考虑这个例子:

    <强>#1

    $values = array( array('First Name', 'Last Name', 'Username'), array('Bob', 'Dill', 'DBob'), array('Amy', 'Simpson', 'Asimp'), array('Doug', 'James', 'LJames'), );
    $usernames = array();
    array_shift($values);
    foreach($values as $key => $value) {
        $usernames[] = $value[2];
    }
    

    <强>#2

    $values = array( array('First Name', 'Last Name', 'Username'), array('Bob', 'Dill', 'DBob'), array('Amy', 'Simpson', 'Asimp'), array('Doug', 'James', 'LJames'), );
    $usernames = array();
    $header = array_shift($values);
    $username_key = array_search('Username', $header); // find out which column is username
    foreach($values as $key => $value) {
        $usernames[] = $value[$username_key];
    }
    
    echo '<pre>';
    print_r($usernames);
    echo '</pre>';
    

    示例输出:

    Array
    (
        [0] => DBob
        [1] => Asimp
        [2] => LJames
    )
    

答案 1 :(得分:0)

试试这个

$arr = array();
foreach ($Col as $Row)
{   
    foreach($Row as $k=>$val){
      $arr[count($arr)]=$val;
     }

}  

print_r($arr);