empty($result['caipiaoid']) && $result['caipiaoid'] = $row['caipiaoid'];
这个是什么意思?不求甚解。直到我今天在一本js的书籍中关于运算符的说明,才真正弄明白**&&**和 ||。
把我今日份的收获记录下来。
书上是这样写的:
- 如果第一个运算数的值为假,那么运算符&&产生它的第一个运算数的值,否则产生它第二个运算数的值
- 如果第一个运算数的值为真,那么运算符|| 产生第一个运算数的值,否则产生第二个运算数的值
后来我又去查了下baidu了一下:
那么我发的代码的意思就是,如果 r e s u l t [ ′ c a i p i a o ′ ] 为 空 则 e m p t y ( result['caipiao'] 为空则empty( result[′caipiao′]为空则empty(result[‘caipiaoid’]) 为真就会执行后面的语句,反之不必执行。它等价于:
if(empty($result['caipiao'])) $result['caipiao'] = $row['caipiaoid'];
if语句更为简单。用&&运算符更聪明,至于时间和空间复杂度哪个更好,这个暂时回答不了你。
php和c真的很像。。。。。。。。。。。。有时间一定去刷一遍c的题