84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
比如
$order['status'] == 9 || $order['status'] == 10 || $order['status'] == 11
类似这种的话,如果两三个还勉强可以接受,但是如果还有 3 个以上的条件我就无法接受这种写法了。后来使用了 in_array()的方法相对简短一点了。
想来请教下 php 中 有没有比 in_array()再好点的写法了。谢谢
ringa_lee
酱?
phpswitch($order['status']){ case FINISHED: case PENDING: case PROCESSING: //logic break; default: break; }
php
switch($order['status']){ case FINISHED: case PENDING: case PROCESSING: //logic break; default: break; }
难道不是in_array($order['status'], [9, 10, 11])
in_array($order['status'], [9, 10, 11])
像你这个例子, 改成switch就行了,简单直观还合理;
如果条件太多无可避免的情况,即只能用if,就算用别的也感觉别扭不对劲的时候, 建议换一种写法:
if ($order['status'] == 9 || $order['status'] == 10 || $order['status'] == 11) { }
我是花括号部另起一行党, 但在这种情况下,也可以
另外建议把字面量常量放在左边。
如果if里的判断条件特别特别长(我见过有些分支需要判断三四个变量,||和&&用了七八个),建议把判断条件写成单独的函数
酱?
难道不是
in_array($order['status'], [9, 10, 11])
像你这个例子, 改成switch就行了,简单直观还合理;
如果条件太多无可避免的情况,即只能用if,就算用别的也感觉别扭不对劲的时候, 建议换一种写法:
我是花括号部另起一行党, 但在这种情况下,也可以
另外建议把字面量常量放在左边。
如果if里的判断条件特别特别长(我见过有些分支需要判断三四个变量,||和&&用了七八个),建议把判断条件写成单独的函数