使用显式字符串作为索引访问php数组

ope*_*sas 3 php arrays indexing

我知道使用''分隔字符串而不是""更高效...

但我想知道是否有任何表现改进这样做


$a = array( 'table' => 'myTable', 'order' => 'myOrder' );

$table = $a['table']
Run Code Online (Sandbox Code Playgroud)

代替


$a = array( table => 'myTable', order => 'myOrder' );

$table = $a[table]
Run Code Online (Sandbox Code Playgroud)

我想是的,但只是想知道你的意见......

zi3*_*guw 8

是.在您的第二个示例中,PHP处理器检查"table"是否在将其默认为数组键之前定义为常量,因此它会进行多次检查.这也可能产生问题.

考虑一下:

const table = 'text';

$a = array( table => 'myTable', order => 'myOrder' );

$table = $a[table]
Run Code Online (Sandbox Code Playgroud)

现在,PHP将您的数组解释为$ a [text],这不是您想要的.


Jer*_*ten 5

你应该总是引用你的字符串.在第二个例子中,PHP并转换tableorder为字符串,但如果table还是order定义为常量,PHP会使用常量而不是字符串"表"或"秩序"的价值.