2015-03-11 6 views
0

Я хочу, чтобы объединить эти три массива:Объединение одномерных массивов

array (
    [0] => zooey, 
    [1] => Robert, 
    [2] => james, 
    [3] => Alfred, 
); 
array (
    [0] => city1, 
    [1] => city2, 
    [2] => city3, 
    [3] => city4, 
); 
array (
    [1] => city1, 
    [2] => city2, 
    [3] => city3, 
    [4] => city4, 
); 

в этом:

array (
    [0] => array('id'=>user_id1,'name'=>username1, 'city'=>user city1), 
    [1] => array('id'=>user_id2,'name'=>username2, 'city'=>user city2), 
    // and so on 
); 
+2

Вы можете поделиться тем, что вы пытаетесь сделать? –

+2

http://php.net/manual/en/function.array-merge.php - http://php.net/manual/en/function.array-merge-recursive.php –

+0

@JayBlanchard Я использовал ' array_merge() 'и' array_combine() '. Сначала это дает мне некоторую надежду, но после нескольких попыток я все равно не могу это сделать –

ответ

1

Вы должны написать свою собственную функцию слияния, если все 3 массивов таких же размер с правильное позиционирование соответствующих элементов, функция будет выглядеть так:

function combineUserArray($arrayNames, $arrayCities, $arrayIds){ 
    $users = []; 
    for($i = 0; $i < count($arrayIds); $i++){ 
     $users[$i] = [ 
      'id'=>$arrayIds[$i], 
      'name'=>$arrayNames[$i], 
      'city'=>$arrayCities[$i], 
     ]; 
    } 
    return $users; 
} 
+0

возможно, ';' следует заменить на ','? это дает ошибку. –

+0

thx для указания Dr Zizo – arkoak

+0

, и вы отредактировали функцию длины тоже :) –

Смежные вопросы