PHP выполняет функцию в условиях if и foreach
Это мой HTML код
<input type="checkbox" value="fotoğraf" name="materyal[]"> Fotoğraf
<input type="checkbox" value="resim" name="materyal[]">Resim
<input type="checkbox" value="çizelge" name="materyal[]">Çizelge
<input type="checkbox" value="katlanabilir harita" name="materyal[]"> Katlanabilir Harita
Есть флажок, и я возьму значения с $_POST['materyal'], а затем я хочу записать экранные значения с запятой, если значения больше одного. если значения флажка пустые, я ничего не пишу на экране.
if (isset($_POST['materyal']) && !empty($_POST['materyal'])) {
$materyal = $_POST['materyal'];
echo "İçerdiği extra materyaller ; ";
foreach ($materyal as $materyallist) {
foreach ($materyallist as $yenimateryal){
array_push($sonmateryal, $yenimateryal);
}
}
echo implode(", ", $sonmateryal);
}
Это мой код когда я хочу использовать implode в случае, если я принимаю ошибку. Как я могу сделать
1 ответ
Решение
Кажется, вы просто хотите показать содержимое?
$sonmateryal = array();
if (isset($_POST['materyal']) && !empty($_POST['materyal'])) {
echo "İçerdiği extra materyaller ; ";
foreach ($_POST['materyal'] as $materyallist) {
foreach ($materyallist as $yenimateryal) {
$sonmateryal[] = $yenimateryal;
}
}
}
echo implode(", ", $sonmateryal);
обновить в соответствии с заданным HTML
if (!empty($_POST['materyal'])) {
echo "İçerdiği extra materyaller ; ".htmlentities(implode(',', $_POST['materyal']));
}
Поскольку вы публикуете входные данные как простые массивы, результаты будут запятыми, если значение после публикации не пустое.