PHP在if和foreach条件下内爆函数

时间:2013-11-12 12:33:02

标签: php if-statement foreach implode

这是我的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);
    }

这是我的代码。当我想在contiditon中使用implode时,我会犯错。 我该怎么办

1 个答案:

答案 0 :(得分:0)

好像你只想展示内容?

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

由于你将输入作为简单数组发布,如果post-ed值不为空,这将使用逗号破坏结果..