Я никогда использовалиИзменить содержимое массива
unset($quotes_array[0]['methods'][0]);
$quotes_array[0]['methods'] = array_values($quotes_array[0]['methods']);
, чтобы удалить первый элемент массива, но форма выбора, где используется массив больше не правильно реагирует на кнопку радио, выбранного пользователем. Исходный массив выглядит следующим образом:
Array
(
[0] => Array
(
[id] => advshipper
[methods] => Array
(
[0] => Array
(
[id] => 1-0-0
[title] => Trade Shipping
[cost] => 20
[icon] =>
[shipping_ts] =>
[quote_i] => 0
)
[1] => Array
(
[id] => 2-0-0
[title] => 1-2 working days
[cost] => 3.2916666666667
[icon] =>
[shipping_ts] =>
[quote_i] => 1
)
[2] => Array
(
[id] => 4-0-0
[title] => 2-3 working days
[cost] => 2.4916666666667
[icon] =>
[shipping_ts] =>
[quote_i] => 2
)
[3] => Array
(
[id] => 8-0-0
[title] => Click & Collect
[cost] => 0
[icon] =>
[shipping_ts] =>
[quote_i] => 3
)
)
[module] => Shipping
[tax] => 20
)
)
И модифицированный массив выглядит следующим образом:
Array
(
[0] => Array
(
[id] => advshipper
[methods] => Array
(
[0] => Array
(
[id] => 2-0-0
[title] => 1-2 working days
[cost] => 3.2916666666667
[icon] =>
[shipping_ts] =>
[quote_i] => 1
)
[1] => Array
(
[id] => 4-0-0
[title] => 2-3 working days
[cost] => 2.4916666666667
[icon] =>
[shipping_ts] =>
[quote_i] => 2
)
[2] => Array
(
[id] => 8-0-0
[title] => Click & Collect
[cost] => 0
[icon] =>
[shipping_ts] =>
[quote_i] => 3
)
)
[module] => Shipping
[tax] => 20
)
)
Я подозреваю, что проблема вызвана тем, что в модифицированном массиве [quote_i] Теперь начинается на 1, а не 0, как в оригинале. Поэтому у меня есть [quote_i] как 1, 2, затем 3, но это должно быть 0, 1, затем 2.
Я попытался использовать array_walk, чтобы исправить это, но не был успешным.
Любые предложения по решению этого вопроса?
ли это то, что вы ищете? http://stackoverflow.com/questions/5217721/how-to-remove-array-element-and-then-re-index-array – Juampi