Это мой массив:array_push() выдает ошибку
Array (
[country_0] => E92000001
[country_1] => L93000001
[country_2] => M83000003
[county_0] => E10000002
[county_1] => E10000003
[county_2] => E10000006
[county_3] => E10000007
[gor_0] => A
[gor_1] => B
)
Я хотел бы получить что-то вроде этого:
Array
(
[country] => Array(
[0] => L93000001
[1] => M83000003
[2] => M83000003
)
[county] => Array(
[0] => E10000002
[1] => E10000003
[2] => E10000006
[3] => E10000007
)
[gor] => Array(
[0] => A
[1] => B
)
)
Мой код для этого в настоящее время это:
$converted_array = [];
foreach ($input as $key => $value) {
$underscore_position = strpos($key, "_"); //returns integer.
$stripped_key = substr($key, 0, $underscore_position); //returns word eg "country"
array_push($converted_array[$stripped_key], $value); //doesn't work
array_push($converted_array, $stripped_key[$value]); //doesn't work
array_push($converted_array, $stripped_key => $value); //doesn't work
}
print_r($converted_array);
Я не могу получить ни один из моих array_push()
s для работы. Я продолжаю получать синтаксическую ошибку или ошибочную ошибку смещения.
Возможно, это не самый лучший способ. Я в основном пытаюсь манипулировать данными скрытой формы. Каждое скрытое поле будет выглядеть примерно так:
<input name="country_0" type="hidden" value="E92000001">
Число после country_
только сохранить каждый вход уникальным. Так что, возможно, было бы лучше иметь что-то вроде <input name="country_E92000001" type="hidden" value="E92000001">
и сделать какое-то сращивание ключей массива.
Итак, как я могу заставить мой код работать или есть лучший способ?
EDIT:
Для создания скрытых полей ввода, которые я использую этот код:
<input name="<?php echo $key; ?>" type="hidden" value="<?php echo $subvalue; ?>">
В результате добавления []
дает мне ошибку Cannot use [] for reading
. Есть ли способ решить это?
Смотрите мое редактирование/обновление в исходном сообщении – mikelovelyuk
@ mike3875 Как добавить скобки '[]' в коде? Просто попробуйте использовать это: ' "Type =" hidden "value =" Php echo $ subvalue;? > ">' – Rizier123
'' – mikelovelyuk