PHP通过索引将数组元素作为字符串文字访问,好还是坏?

Til*_*ter 1 php

$array = array(
  'first element',
  'second element',
  'third element',
);

echo $array['1'];
echo $array[1];
Run Code Online (Sandbox Code Playgroud)

它们都产生相同的结果.

我问这个问题,因为我注意到例如drupal访问索引作为字符串文字,其中php.net使用整数.

一个优于另一个吗?

我当然知道为什么$array[foo]不好.

Art*_*cto 6

它在语义方面无动于衷.

当你这样做$array['string']并且'string'是基数为10的数字而没有前导零和小数点,它们适合整数范围(即介于-PHP_INT_MAX-1和之间PHP_INT_MAX),它将被转换为整数.

在性能方面,最好直接使用整数,因为这将跳过转换步骤.