Php IF语句中的条件IF

Php IF语句中的条件IF,php,Php,我正在尝试运行多个查询以将记录插入到不同的表中。我有多个SQL查询: $user_query = $pdo->prepare("INSERT INTO tbl_user... $user_settings_query = $pdo->prepare("INSERT INTO tbl_user_settings... $user_details_query = $pdo->prepare("INSERT INTO tbl_user_details... 然后我有一个IF语句:

我正在尝试运行多个查询以将记录插入到不同的表中。我有多个SQL查询:

$user_query = $pdo->prepare("INSERT INTO tbl_user...
$user_settings_query = $pdo->prepare("INSERT INTO tbl_user_settings...
$user_details_query = $pdo->prepare("INSERT INTO tbl_user_details...
然后我有一个IF语句:

if($user_query->execute() && $user_settings_query->execute() && $user_details_query->execute) {
    $pdo->commit();
}
我从单个表单获取此数据,有些字段是从复选框中检索到的数组值:

settings[] = 'xyz';
我让一切正常工作,查询执行并提交到DB,但是如果任何数组为空,它只会将空值写入表中。例如,设置和详细信息只有一列(JSON),但如果数组为空,我不希望执行该查询

有没有一种方法可以做到:

IF($user_query->execute() && IF(!empty($user_settings_array)?$user_settings_query->execute():'') ... )

?:运算符就是它。小心:优先顺序在PHP中是不常见的。最好将表达式完全插入括号中

其他选项包括
&&
|
。例如:

if ($user_query->execute() && (empty($user_settings_array) || $user_settings_query->execute()) ... )
只需删除“if”,并将execute放在if语句中

if(!empty($user_settings_array) && $user_query->execute() && $user_settings_query->execute()){
    $pdo->commit();
}

这不起作用,因为我想执行所有其他查询,而不考虑空条件。怎么样??