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

php中文网
发布: 2016-06-23 13:29:57
原创
1005人浏览过

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



$v and $str.=",{$v}";和$str and $str.=","; 这个怎么理解呢。

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人

回复讨论(解决方案)

按照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 and $str.=","; 它意思是如果$str不为空的时候,那么处理后面的语句,这和下面的给空值赋值有异曲同工之妙,and(&&)这种情况一个是有值的时候处理,or(||)一个是空值的时候处理。
$str || $str=“缺省值”;
登录后复制

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号