Php if null赋值0,if语句代码重用
如果我的值等于null,那么我希望分配0的值,而不是null。我已经用我的if语句实现了这一点,但是,它需要大量的代码生成,我计划添加更多的社交网络,是否有更好的方法来实现这一点Php if null赋值0,if语句代码重用,php,Php,如果我的值等于null,那么我希望分配0的值,而不是null。我已经用我的if语句实现了这一点,但是,它需要大量的代码生成,我计划添加更多的社交网络,是否有更好的方法来实现这一点 $google = $request->input('google'); $facebook = $request->input('facebook'); if ($request->input('google') == null){ $google = 0; } else { $g
$google = $request->input('google');
$facebook = $request->input('facebook');
if ($request->input('google') == null){
$google = 0;
} else {
$google = 1;
}
if ($request->input('facebook') == null){
$facebook = 0;
} else {
$facebook = 1;
}
您可以使用trenary运算符
$google = ($request->input('google') == null) ? 0 : 1;
为了防止每个社交网络重复相同的代码,您可以这样做
$providers = array(
'google',
'facebook',
);
foreach ($providers as $provider) {
if ($request->input($provider) == null) {
$$provider = 0;
} else {
$$provider = 1;
}
}
在我看来,缺点是创建动态变量名,为了防止这种情况,您需要进行一些修改:
$providers = array(
'google' => 0,
'facebook' => 0,
);
foreach ($providers as $providerKey => $providerValue) {
if ($request->input($providerKey) != null) {
$providers[$providerKey] = 1;
}
}
希望这有帮助