如果是数组,请做点什么?

Lat*_*tox 4 php arrays isset

我发布了多个复选框,并将它们放入一个数组中 - 例如:"tags []"

发布它们时,我用逗号来破坏它们.

如果在表单上检查了NO标签,然后发布,我会收到错误,因为脚本试图破坏那些不存在的东西.

我试过用这样的东西:

if (isset($_POST['tags'])){ 
    $tags = implode(", ", noescape($_POST['tags'])); 
}  
Run Code Online (Sandbox Code Playgroud)

检查它是否存在的最佳方法是什么,然后将其内爆?

isset,array_key_exists?

Shi*_*ryu 6

你能做到这一点的一条线,在这种情况下isset,并array_key_exist会给你同样的结果,但是,那么你可能要检查是否$_POST['tags']是一个数组...

$tags = isset($_POST['tags']) ? implode(", ", noescape($_POST['tags'])) : null;
Run Code Online (Sandbox Code Playgroud)

要么

$tags = (isset($_POST['tags']) && is_array($_POST['tags'])) ? implode(", ", noescape($_POST['tags'])) : null;
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试:http://codepad.org/XoU4AdsJ