Rumah > pembangunan bahagian belakang > tutorial php > 问下这种PHP写法什么意思,关于字符串的

问下这种PHP写法什么意思,关于字符串的

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:29:57
asal
920 orang telah melayarinya

 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.=",";
Salin selepas log masuk

嗯. 按照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;
Salin selepas log masuk
,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;
Salin selepas log masuk
,1,2,3,0,0,5,,A,

能一样吗?

这个是三元运算的变种

if(!empty($attribute)){	foreach($attribute as $v){		$v and $str.=",{$v}";	} }$str and $str.=",";
Salin selepas log masuk

改在这样你就理解了
if(!empty($attribute)){	foreach($attribute as $v){		if($v){			$str.=",".$v;		}	}}if($str){	$str.=",";}
Salin selepas log masuk

$str and $str.=","; 它意思是如果$str不为空的时候,那么处理后面的语句,这和下面的给空值赋值有异曲同工之妙,and(&&)这种情况一个是有值的时候处理,or(||)一个是空值的时候处理。
$str || $str=“缺省值”;
Salin selepas log masuk

and操作符,当前面的值为false 的时候,and后面的代码是不执行的

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan