$a = ['name'=>'zhangsan','age'=>18];
if (count($a) == 0) {
echo "array is empty";
} else foreach($a as $k => $v) {
echo $v;
}
1
sheeta 2020-11-06 18:41:32 +08:00 via Android
没有
|
2
vibbow 2020-11-06 18:43:28 +08:00
是很常用的用法。不过这个 if 是多余的。
|
5
xiaoao4568 2020-11-06 18:51:52 +08:00 via Android
这也太不规范了吧
|
6
taxiaohaohhh 2020-11-06 18:58:01 +08:00 via Android
太骚了。写不出来
|
7
sadfQED2 2020-11-06 19:01:15 +08:00 via Android
这不基本操作吗?
|
8
DoodleSit 2020-11-06 19:05:24 +08:00 1
单条语句可以省略花括号~
|
9
Mitt 2020-11-06 19:10:15 +08:00
我觉得花括号这东西能不省就不省,有时候串行都不会发现,要省就要省 else,减少缩进才是真
|
10
gakkiismywife1 2020-11-06 19:16:49 +08:00
这样是可以的 我记得鸟哥的博客说过这个写法
|
11
xxbutoo OP @gakkiismywife1 哎呀 别拆穿我嘛
|
12
dobelee 2020-11-06 19:31:00 +08:00 via iPhone
没什么特别。就是格式不太规范。而已。
|
13
ben1024 2020-11-06 19:44:11 +08:00
else foreach 不换行厉害的
为了省字符而省字符 |
14
rocky114 2020-11-06 20:15:07 +08:00
这样写的打死
|
15
asdf2020 2020-11-06 20:18:39 +08:00
没有,这样真容易被打
|
16
VANHOR 2020-11-06 20:42:20 +08:00
没这么写过,不过居然还能这么写?
|
17
goodboy95 2020-11-06 21:10:09 +08:00
if else for,我以前经常想这么写,不过考虑到小命还是没敢
|
18
lepig 2020-11-06 23:33:06 +08:00
不好意思,从没写过。
如果我的同事这样写,我可能会稍微怼他一下。 |
19
svipchao 2020-11-07 00:05:05 +08:00 2
https://www.laruence.com/2020/07/09/6015.html
今天刚看到的,然后在 v2 又看到了 |
20
akira 2020-11-07 00:53:55 +08:00
看起来也没啥问题,不过很少这样写
|
21
RickyC 2020-11-07 01:43:13 +08:00
if ($a)
foreach ($a as $v) echo $v; else echo "array is empty"; ------ 如果是我可能会这么写, 欢迎指正. |
23
HackerJax 2020-11-07 08:35:56 +08:00 via iPhone
直接 foreach 就完事了,只要是数组就行
|
24
cszchen 2020-11-07 08:57:33 +08:00
第一次知道这种写法,不推荐,可以辞退了
|
25
C603H6r18Q1mSP9N 2020-11-07 09:31:29 +08:00
开掉,太骚了
|
27
newtype0092 2020-11-07 10:22:14 +08:00
@RickyC 这种完全是陋习,与性能无关。除非是机器自动生成,人工写这种代码极大的提高了维护时的出错概率,纯属给自己和同事找麻烦。
|
28
sorshion 2020-11-07 10:22:18 +08:00
第二次听说这种语法,还是鸟哥,博客介绍的
|
29
cszchen 2020-11-07 10:58:59 +08:00 1
|
30
fengh0409 2020-11-07 13:45:40 +08:00
不需要判断,直接 foreach 完事
|
31
maigebaoer 2020-11-07 13:48:26 +08:00 via Android
鸟哥博客有见过
|
32
hexiaolu 2020-11-07 14:18:12 +08:00 1
是有这样的写法,只是不会这样写,不过 100 个 phper 100 种规范,写代码开心就好!!!
|
33
ditel 2020-11-07 14:58:05 +08:00 via Android
自动生成没问题,写的就拖出去吧
|
34
elintwenty 2020-11-07 15:09:15 +08:00
动态语言 + 奇技淫巧 + 望文生义 维护复杂度指数级增加,在工程里这么写的人已经都被打死了
|
35
lovecy 2020-11-07 15:20:13 +08:00
if (!empty($a)) {
....foreach($a as $k => $v) { ........echo $v; ....} } else { ....echo "array is empty"; } 注:....代表缩进 这么写是最完美的,懂得都懂! 好吧,其实就是防止$a 为 undefined 或者 null,报 NOTICE 或 WARNING 错误 |
36
lovecy 2020-11-07 15:23:12 +08:00
@RickyC 没有性能提升可言,而且后期维护的时候,一旦没注意到这里没有花括号,直接后面加了代码,就出错了。
代码可维护性比省那几个字符重要多了。。 |
37
dvaknheo 2020-11-07 19:50:07 +08:00
我会这么写:
$a=is_array($a)?$a:[]; foreach($a as $k => $v) { // } 好处是少一层缩进,看起来舒服。 |
38
xxbutoo OP @elintwenty 为什么啊为什么啊为什么啊
|
39
weitch 2020-11-08 12:22:37 +08:00 via Android
|