gpt4 book ai didi

PHP 数组索引 : $array[$index] vs $array ["$index"] vs $array ["{$index}"]

转载 作者:IT王子 更新时间:2023-10-29 01:15:46 29 4
gpt4 key购买 nike

这些索引到 PHP 数组的方法之间有什么区别(如果有的话):

$array[$index]
$array["$index"]
$array["{$index}"]

我对性能和功能上的差异都感兴趣。

更新:

(回应@Jeremy)我不确定这是否正确。我运行了这段代码:

  $array = array(100, 200, 300);
print_r($array);
$idx = 0;
$array[$idx] = 123;
print_r($array);
$array["$idx"] = 456;
print_r($array);
$array["{$idx}"] = 789;
print_r($array);

得到了这个输出:

Array
(
[0] => 100
[1] => 200
[2] => 300
)

Array
(
[0] => 123
[1] => 200
[2] => 300
)

Array
(
[0] => 456
[1] => 200
[2] => 300
)

Array
(
[0] => 789
[1] => 200
[2] => 300
)

最佳答案

参见上面的@svec 和@jeremy。所有的数组索引都先是'int'类型,然后是'string'类型,并且会在PHP认为合适的时候被强制转换。

在性能方面,$index 应该比 "$index"和 "{$index}"快(它们是相同的)。

一旦你开始一个双引号字符串,PHP 将进入插值模式并首先将其视为一个字符串,但会从本地范围内寻找变量标记($、{} 等)来替换。这就是为什么在大多数讨论中,真正的“静态”字符串应该始终是单引号,除非您需要像“\n”或“\t”这样的转义快捷方式,因为 PHP 不需要在运行时尝试插入字符串,并且完整的字符串可以静态编译。

在这种情况下,双引号将首先将 $index 复制到该字符串中,然后返回该字符串,而直接使用 $index 将只返回该字符串。

关于PHP 数组索引 : $array[$index] vs $array ["$index"] vs $array ["{$index}"],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com