if(!empty($attribute))
{
foreach($attribute as $v)
{
$v and $str.=",{$v}";
}
}
$str and $str.=",";
$v and $str.=",{$v}";和$str and $str.=","; 这个怎么理解呢。
按照php运算符的优先级,.=大于and,这里的and部分没什么意义,得到的结果和下面的代码应该一样
if(!empty($attribute)) {foreach($attribute as $v){ $str.=",{$v}";} } $str.=",";
嗯. 按照1L说的 对的
不过 按照写法来说.
if(!empty($attribute)) 有时候$attribute没定义 这样写会报警告的
最好的方式isset($attribute) && !empty($attribute)
写代码要严谨.
对个球!
$attribute = array(1,2,3,0,0,5,'', 'A');$str = '';if(!empty($attribute)) { foreach($attribute as $v) { $v and $str.=",{$v}"; }}$str and $str.=",";echo $str;,1,2,3,5,A,
$attribute = array(1,2,3,0,0,5,'', 'A');$str = '';if(!empty($attribute)) { foreach($attribute as $v) { $str.=",{$v}"; }}$str.=",";echo $str;,1,2,3,0,0,5,,A,
if(!empty($attribute)){ foreach($attribute as $v){ $v and $str.=",{$v}"; } }$str and $str.=",";
if(!empty($attribute)){ foreach($attribute as $v){ if($v){ $str.=",".$v; } }}if($str){ $str.=",";}
$str || $str=“缺省值”;
and操作符,当前面的值为false 的时候,and后面的代码是不执行的