[英]I Don't Understand This Array Syntax
我不理解此数组访问语法:
$target[$segs[count($segs)]]
确实可以将变量用作多维数组键吗?
如果$segs
是仅具有连续索引的数字数组,则可能会导致错误。
意思是,它将因以下原因而失败:
array("foo","bar");
但为
array("foo", 2=>"bar");
现在假设我们处理第一种情况,那么这将起作用:
$target[$segs[count($segs) - 1]]
首先, count($segs) - 1
将被评估为count($segs) - 1
并返回一个数字。 在这种情况下, $segs
的最后一个索引 (假设它是一个数值数组)。
$segs[count($segs) - 1]
将返回$segs
的最后一个元素 。 无论该值是多少,都将用作$target[...]
索引。
总结一下:它是嵌套数组索引并由内而外求值。
是否需要这种方法取决于您要解决的问题。 如果您不知道在哪里使用这种嵌套的可变数组索引,则可能不需要它。
只要$segs
是一个数组,该语法就可以了。 但是,值得注意的是,如果对$segs
使用数字索引数组,则调用count($segs)
是不存在的键,因为索引从零开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.