合并数组键值 - PHP

时间:2016-06-29 04:59:46

标签: php arrays

大家好我需要合并相同的密钥从多个数组列表转换为单个数组请任何人帮我解决问题

例如这里的数组。

Array
(
    [0] => Array
        (
            [0] => Mr.
            [1] => Mrs.
        )

    [1] => Array
        (
            [0] => Rob
            [1] => Tam
        )

    [2] => Array
        (
            [0] => kar
            [1] => Man
        )

    [3] => Array
        (
            [0] => 55345345345
            [1] => 44545345435
        )

)

我需要输出

Array
(
    [0] => Array
        (
            [0] => Mr.
            [1] => Rob
            [2] => kar
            [3] => 55345345345
        )

    [1] => Array
        (
            [0] => Mrs.
            [1] => Tam
            [2] => Man
            [3] => 44545345435
        )

)

请任何帮助

由于

4 个答案:

答案 0 :(得分:3)

对于PHP version >= 5.5.0您可以使用array_column()array_merge()作为

$result = array_merge(array_column($records, '0'), array_column($records, '1'));
print_r($result);

答案 1 :(得分:0)

试试这个

$out = array();
foreach ($arr1 as $key => $value){
    $out[] = (object)array_merge((array)$arr2[$key], (array)$value);
}
print_r($out)

答案 2 :(得分:0)

var answerKey = [], output = [];
for(var i = 0; i < inputArray.length; i++){
  for(var j = 0, len = names.length; j < len; j++){
    if(inputArray[i].toLowerCase().indexOf(names[j]) > -1){
      answerKey.push(names[j])
      output.push(inputArray[i].toLowerCase().replace(names[j], '?'))
    }
  }
}

使用这个。您可以根据需要获得相同的输出。

答案 3 :(得分:0)

$title = $array[0];
$firstname = $array[1];
$lastname = $array[2];
$number = $array[3];
$output = array();
for($i=0; $i < count($title); $i++)
{
  $output[] = array($title[$i],$firstname[$i],$lastname[$i],$number[$i])
}
var_dump($output);