标签:php
只是学习PHP并查看别人的代码.我不确定在这个函数中发生了什么,在=运算符的左侧有’和’这个词.如果正在使用,它似乎是一个’沉默’.
如果$arry = true而$array2 = true则$array2 =’somthing’;
我似乎无法在网上任何地方找到任何参考.
function get_list_filter($filter = array()) {
global $current_user;
$sql = array();
$filter["clientID"] and $sql[] = sprintf("(WD_domain.clientID = %d)",$filter["clientID"]);
$filter["showDomainName"] and $sql[] = sprintf("(WD_domain.domain LIKE '%%%s%%')",$filter["showDomainName"]);
$filter["showManaged"] and $sql[] = sprintf("(WD_domain.managed = %d)",$filter["showManaged"]);
return $sql;
}
解决方法:
这意味着如果the的左侧并且计算结果为true,则右侧也将执行.实质上,如果clientID的计算结果为true(非假),那么sprintf(“(WD_domain.clientID =%d)”,$filter [“clientID”])将被添加到$sql数组中.
这是一种懒惰的方式:
if($filter["clientID"]) {
$sql[] = sprintf("(WD_domain.clientID = %d)",$filter["clientID"]);
}
标签:php
来源: https://codeday.me/bug/20190723/1516965.html