21,892
社区成员
发帖
与我相关
我的任务
分享
$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)
{
$str.=",{$v}";
}
}
$str.=",";
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 and $str.=","; 它意思是如果$str不为空的时候,那么处理后面的语句,这和下面的给空值赋值有异曲同工之妙,and(&&)这种情况一个是有值的时候处理,or(||)一个是空值的时候处理。
$str || $str=“缺省值”;