繁体   English   中英

我不明白这个数组语法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM