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