хочу посчитать и разделить каждый ключ в массиве переменной, чтобы назначить им функции

Я делаю пару ключ-значение для каждого цикла, чтобы получить данные поста, теперь я хотел бы поймать каждый элемент в массиве пород ниже отдельно, чтобы я мог назначать им различные функции

<input type = "text" name = "rock[bonjovi manson mettalica]">
foreach ($_POST as $key => $value) {
foreach($value as $k => $v){
echo '<p>'.$k.'</p>'; // this echo's all elements in the array, i would like to get each element in the array so i could assign them the below functions
if ($k === "bonjovi"){
//do something
}
if ($k === "manson"){
//do something
}
if ($k === "mettalica"){
//do something
}
}
}

1

Решение

Добавление скобок к имени входа, например rock[] обозначает массив для php при отправке формы; добавление текста в скобках присваивает имя элементу массива:

<input type="text" name="rock[ a b c ]">

$ _POST

array(1) {
["rock"]=>
array(1) {
[" a b c "]=>
string(5) "d e f"}
}

Может быть, вместо этого вы хотите флажки? Или другие примеры здесь https://secure.php.net/manual/en/faq.html.php#faq.html.select-multiple

<input type="checkbox" name="rock[a]" value="A"> A
<input type="checkbox" name="rock[b]" value ="B"> B
<input type="checkbox" name="rock[c]" value="C"> C
<input type="submit">

$ _POST

array(1) {
["rock"]=>
array(2) {
["a"]=>
string(1) "A"["c"]=>
string(1) "C"}
}
2

Другие решения

foreach ($_POST as $key => $value)
$_POST содержит все данные POST, в вашем случае вы можете попробовать
foreach ($_POST["rock"] as $key => $value) чтобы получить доступ только к контенту в «рок»

0

По вопросам рекламы [email protected]