从PHP数组读取时,[]的意思是什么?

前端之家收集整理的这篇文章主要介绍了从PHP数组读取时,[]的意思是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在为 PHP写一个解析器,虽然搞乱了一些第三方代码,但我遇到了一个关于[]运算符的奇怪案例.

通常,在赋值左侧没有键的情况下使用[],意思是“添加为最后一个元素”.

  1. $a = array();
  2. $a[] = 1;

将在数组$a的末尾添加1.

在前面提到的代码中,我看到了这样的一行:

  1. $r =& $a[];

当我试图删除&时,我得到了一个相当预期的致命错误

Fatal error: Cannot use [] for reading

与&但是,PHP并没有抱怨.表达式的含义是什么?

  1. & $a[];

语法意味着“使用对$a []的引用”或对最新创建的数组元素的引用.
  1. <?PHP
  2. $a=array( );
  3. $a[] = "a";
  4. $a[] = "b";
  5.  
  6. print_r($a);
  7.  
  8. $r =& $a[];
  9.  
  10. print_r($a);
  11.  
  12. $r = "c";
  13.  
  14. print_r($a);

生产:

  1. Array
  2. (
  3. [0] => a
  4. [1] => b
  5. )
  6. Array
  7. (
  8. [0] => a
  9. [1] => b
  10. [2] =>
  11. )
  12. Array
  13. (
  14. [0] => a
  15. [1] => b
  16. [2] => c
  17. )

猜你在找的PHP相关文章