У меня есть форма, содержащая несколько полей с именами item1, item2, item13, item43 и т.д., каждый раз, когда эти поля различаются, поскольку они заполняются в форме с помощью AJAX.
Когда пользователь отправляет, мне нужно выполнить следующее:
foreach($_POST['itemX']['tagsX'] as $tag){
inserttag($tag, X);
}
где X = 1,2,13,43 и т.д. Как я могу перебирать значения $_POST и выполнять вышеизложенное только для значений тех, которые начинается с имени "item", за которым следует идентификатор X?
Решение, основанное на ответе Пионтек:
Опубликованные данные имеют следующий формат:
[item38] => Array([tags38] => Array([0] => aaa,[1] => bbb))
[item40] => Array([tags40] => Array([0] => ccc,[1] => ddd))
[item1] => Array([tags1] => Array([0] => eee,[1] => zzz))
И вот как я разбираю и использую его:
foreach($_POST as $key => $value){
if (strstr($key, 'item')){
$id = str_replace('item','',$key);
foreach($_POST['item'.$id]['tags'.$id] as $tag){
inserttag($tag, $id);
}
}
}