Создание массива без ключей в цикле

Это может быть мозговой пердит, так как это поздний день, но я застрял здесь.

Мне нужно взять значение $_POST из окна выбора. (Это массив) и преобразовать его в простой массив, который не имеет никаких ключей.

Здесь print_r из пункта:

Array ( [0] => 19 [1] => 18 [2] => 21 )

Проблема в том, что мне нужен массив, который выглядит так:

Array(19,18,21)

Всякий раз, когда я пытаюсь выполнить foreach() через поле формы, я должен сделать что-то вроде этого:

$row[] = $val;

Но это оставляет меня с числовым индексом.

Что мне не хватает?

Спасибо.

Ответы

Ответ 1

у вас не может быть массив без ключей.

Array(19,18,21)

этот массив имеет ключи 0,1 и 2.

Ответ 2

Массивы (в PHP) всегда имеют (по крайней мере) числовые индексы. Однако вы можете извлечь значения через array_values ​​(). Это возвращает только значения данного массива. У него, конечно, есть индексы, но они непрерывны и являются числовыми. Это самое простое представление массива, которое вы можете иметь в PHP.

Обновите, просто чтобы это было ясно: у вас не может быть массив без индексов в PHP (насколько я знаю на любом другом языке, который является тем же самым), потому что внутренние массивы всегда являются хэш-картами, а хэш-картам всегда нужен ключ. "Самый общий ключ" - это индексы. Вы не можете опустить "ключи". С другой стороны, у меня нет причин, по которым это нужно. Если вы не хотите использовать ключи, просто не используйте ключи, и это действительно все. PHP довольно нежный в этой точке.

Ответ 3

Ближе всего вы собираетесь объединить, чтобы ваши ключи были вашими значениями

array_combine($array1,$array1)