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']));
}

Поскольку вы публикуете входные данные как простые массивы, результаты будут запятыми, если значение после публикации не пустое.

Другие вопросы по тегам