我正在尝试根据多维数组中的三个布尔值来设置变量的值,但是我无法访问它。我是PHP和Javascript的新手。
在我的表单数据的var_dump之后(使用$ http从angular传递到外部PHP文件)我留下了:
Build variants
现在我正在尝试基于“selectedServices”创建变量,但到目前为止所有尝试都失败了,我甚至无法访问它。
目前这就是我所拥有的:
array(3) {
["selectedServices"]=>
array(3) {
["test"]=>
bool(true)
["test2"]=>
bool(false)
["test3"]=>
bool(false)
}
["otherstuff"]=>
string(10) "coolfield"
["smsDelRep"]=>
bool(false)
}
但我没有得到var_dump所以我猜测if语句返回false。但为什么呢?
答案 0 :(得分:2)
In_array检查值,而不是键,你可以这样做:
if(isset($selectedServices['test']) {
//
}
编辑:这不是一个完美的解决方案,如果$ selectedServices ['test']为null则无效
改为使用array_key_exist:
if(array_key_exists('test', $selectedServices)) {
//
}
但您的代码中存在错误:
$selectedServices = array($_POST['selectedServices']);
应该是
$selectedServices = $_POST['selectedServices'];