Я хочу объединить много разных массивов ассоциаций в одном массиве, но в форме массива ассоциаций. Как у меня есть разные массивы, как это
Array ( [0] => abc [1] => def [2] => ghi )
Array ( [0] => jkl [1] => mno [2] => pqr )
.
.
.
и хочу сделать массив как
array
0 =>
array
0 => string 'abc'
1 => string 'def'
2 => string 'ghi'
1 =>
array
0 => string 'jkl'
1 => string 'mno'
2 => string 'pqr'
.
.
.`
.
я получаю эти массивы из CSV-файла. Пожалуйста помоги. Спасибо
Если я правильно понимаю, вы не хотите объединять массивы … вы просто хотите создать многомерный массив, то есть массив массивов. Увидеть разницу здесь.
Вы создаете исходные массивы из файла CSV, но я создам их здесь для полноты:
$array1 = array ( "0" => "abc", "1" => "def", "2" => "ghi" );
$array2 = array ( "0" => "jkl", "1" => "mno", "2" => "pqr" );
Затем все, что вам нужно сделать, это создать массив с этими массивами в качестве значений, в зависимости от того, что работает с остальным кодом, например.
$multiarray = array();
$multiarray["0"] = $array1;
$multiarray["1"] = $array2;
или же
$multiarray = array ( "0" => $array1, "1" => $array2 );
если ты print_r ($multiarray);
, это будет выглядеть как пример в вашем вопросе.
Кстати, приведенные вами примеры не являются ассоциативными массивами, но я относился к ним так, как будто они на самом деле нужны.
Если ваши массивы являются просто стандартными индексированными массивами, вам не нужно указывать ключ, например,
$array1 = new array("abc", "def", "ghi");
etc
$multiarray[] = $array1;
$multiarray[] = $array2;
Я предоставляю другую точку зрения, которая, по моему мнению, не оптимизирована под саму задачу, но может быть полезна в некотором контексте.
$array = array('abc', 'def', 'ghi');
$array2 = array('jkl', 'mno', 'pqr');
function gather(... $array){return $array;}
my_print_r(gather($array, $array2));
Эта функция использует оператор splat, который собирает все аргументы, отправленные функции, как записи в массиве, называемом массивом в этом примере. Мы можем делать все что угодно с массивом в этой функции, но просто перенастраивая его, он делает то, что вы просили.