Ben*_*lap 5 php optimization readability
如果我深陷在一个循环的巢中,我想知道哪些更有效:
if (!isset($array[$key])) $array[$key] = $val;
Run Code Online (Sandbox Code Playgroud)
要么
$array[$key] = $val;
Run Code Online (Sandbox Code Playgroud)
就可读代码而言,第二种形式更为可取.实际上,名称更长,数组是多维的.因此,第一个表单最终在我的程序中看起来非常粗糙.
但我想知道第二种形式是否会变慢.由于代码是程序中最常执行的函数之一,我想使用更快的形式.
一般来说,此代码将使用相同的"$ key"值执行多次.所以在大多数情况下,$ array [$ key]已经设置好了,而isset()将返回FALSE.
为了澄清那些担心我将不相同的代码视为相同的人:就程序的这一部分而言,$ val是一个常数.直到运行时才知道它,但它在程序的早期设置,并且在此处不会更改.因此两种形式都会产生相同的结果.这是获得$ val最方便的地方.