Следующая массив наступающем от $ _POST для PHP веб-приложения:регулярное выражение для _number
Я пытаюсь придумать способ, чтобы определить, какой из ключей заканчивается подчеркиванием и а число, а затем создать для них отдельный многомерный массив. К сожалению, я застрял на первом шаге, чтобы определить, какая из клавиш заканчивается символом подчеркивания и числом. Вот мой экспериментальный код:
\t \t foreach ($values as $k => $v):
\t \t \t echo $k . '-' . $v . '<br>';
\t \t \t preg_match_all('!\d+!', $v, $m);
\t \t \t echo '<pre>' . print_r($m, 1) . '</pre>';
\t \t \t // echo $m[$k];
\t \t endforeach;
И частичный снимок экрана итоге:
Конечной целью является, чтобы получить что-то вроде этого, как результат:
[scenarioID] => 7 [comments] => test 1 [scenarioinserted] => Array ( [0]=>Array ( [itemID]=>100 [itemvalue]=> ), [1]=>Array ( [itemID]=>120 [itemvalue]=> ), etc.
Как это можно сделать?
EDIT
Здесь была моя попытка установить HTML для name="itemID[]"
в коде PHP:
foreach ($o as $key => $value):
foreach ($value as $k => $v):
if (!in_array($key, $calculation)):
if ($k === 'itemID'):
//$td[$key][$k] = '<input type="text" name="itemID_' . $i . '" style="width: 3em" readonly="readonly" value=' . $o[$key][$k] . '>';
$td[$key][$k] = '<input type="text" name="itemID[]" style="width: 3em" readonly="readonly" value=' . $o[$key][$k] . '>';
elseif ($k === 'itemvalue'):
$class = (!empty($errors[$k])) ? ' class="fail" ' : '';
$td[$key][$k] = '<input type="text" name="itemvalue[]" style="width: 7em"' . $readonly . $class . ' value="' . $o[$key][$k] . '">';
else:
$td[$key][$k] = $v;
endif;
else:
$td[$key][$k] = $v;
endif;
endforeach;
endforeach;
И снимок экрана полученного исходного HTML код:
ДАЛЬНЕЙШЕГО EDIT
Вышеуказанное возвращает:
Блестящий! Большое спасибо за помощь. Это MUCH лучше, чем мой оригинальный подход.
Вместо именования полей ввода 'itemID_0',' itemID_1' и т.д. назвать поля ввода 'name =" itemID [] "', тогда вы получите массив, возвращаемый в '$ _POST ['itemID'']', и вся работа выполняется для вас. Сделайте то же самое для 'itemValue' – RiggsFolly
@RiggsFolly you genius: -) \ –
@Dagon Нет, вы, гений :) – RiggsFolly