У меня есть массив, когда я использую функцию var_dump для печати массива, мне выводится следующий результат

var_dump($val);

результат таков

array (size=1)
0 => string '6' (length=1)

array (size=1)
0 => string '6' (length=1)

array (size=1)
0 => string '4' (length=1)

Как видно, $val содержит три различных массива, которые имеют нулевой индекс ключа

как я могу объединить их в один массив и изменить или переставить нулевой индекс на 0, 1 и 2

РЕДАКТИРОВАНО

Для получения дополнительной информации, когда я использую print_r($val), результат выглядит следующим образом

Array ( [0] => 6 ) Array ( [0] => 6 ) Array ( [0] => 4 )

Но количество массивов в $val разное, не каждый раз три массива будут 4 массива или 5 массивов и т.д..

как я могу объединить все в один массив и проиндексировать их?

Tre Ahmad

Ответов: 3

Ответы (3)

Я полагаю, что у вас есть массив, подобный этому,

$val = array(
    0 => array("6"),
    1 => array("6"),
    2 => array("4")
);

Чтобы объединить элементы массива и переставить индексы, вы можете сделать примерно следующее:

foreach($val as $key => $array){
    $val[$key] = $array[0];
}

var_dump($val);

Вывод:

array (size=3)
  0 => string '6' (length=1)
  1 => string '6' (length=1)
  2 => string '4' (length=1)

Я не понимаю, почему ответ Эдгара отклонен -

print_r(array_merge($val[0], $val[0],$val[0]));

получает результат

Array
(
    [0] => 6
    [1] => 6
    [2] => 6
)

Поскольку вы используете массив числовых ключей, вы могли бы использовать функцию php array_merge для достижения именно этого

2022 WebDevInsider