这是有效的PHP数组访问方法吗?

这是有效的PHP数组访问方法吗?,php,arrays,Php,Arrays,这只是好奇的问题。。。 我想知道在这个方法中访问函数返回的数组是否有效。在本例中,我使用的是pathinfo()结果数组 pathinfo($file)['dirname']; 或者,是否需要先将pathinfo()设置为变量,然后再访问它。(经典方法): 我知道经典方法是有效的,但我只是好奇第一种方法是否也有效。我已经用最新版本的WAMP对它进行了测试,它运行正常,但是Dreamweaver CS5将其称为语法错误。PHP5.4+支持pathinfo($file)['dirname'] 这称

这只是好奇的问题。。。 我想知道在这个方法中访问函数返回的数组是否有效。在本例中,我使用的是pathinfo()结果数组

pathinfo($file)['dirname'];
或者,是否需要先将pathinfo()设置为变量,然后再访问它。(经典方法):


我知道经典方法是有效的,但我只是好奇第一种方法是否也有效。我已经用最新版本的WAMP对它进行了测试,它运行正常,但是Dreamweaver CS5将其称为语法错误。

PHP5.4+支持
pathinfo($file)['dirname']

这称为数组解引用

参考:

参考:

小于5.4

$info = pathinfo($file);
$info['dirname'];

PHP5.4+支持
pathinfo($file)['dirname']

这称为数组解引用

参考:

参考:

小于5.4

$info = pathinfo($file);
$info['dirname'];

由于使用了PHP 5.4,因此完全可以做到:


自PHP 5.4以来,完全可以做到:


它们在PHP5.4中都是有效的(意味着它们可以工作)。在PHP<5.4中,只有第二个有效。但是,这两种方法都是不可接受的,因为您没有像应该的那样在数组键周围使用引号。PHP只是(遗憾地)足够宽松,可以为您将其转换为字符串(如果常量不存在)。我忘记了引号,我已经编辑以修复。它们在PHP5.4中都是有效的(意味着它们将工作)。在PHP<5.4中,只有第二个有效。但是,这两种方法都是不可接受的,因为您没有像应该的那样在数组键周围使用引号。PHP只是(遗憾地)足够宽大,可以为您将其转换为字符串(如果常量不存在)我忘记了引号,我已经编辑以修复。@ColinMorelli我编辑了他的答案并添加了引号,但理论上可能是代码中有
define('dirname',5)
或类似的内容,在这种情况下,不应添加引号。谢谢您的回答。我希望它是一个更早的版本,因为我的生产服务器是5.3.1。@AleksG,鉴于上面的代码示例,这将是一个无效的假设。因为很可能没有。此外,添加它们并说明原因也无妨(这样你就可以把决定权留给提问者了)。@Johnno13:然后你需要使用第二个选项mehtod@ColinMorelli我编辑了他的答案并添加了引号,但理论上可能是代码中有
define('dirname',5)
或类似的内容,在这种情况下,不应添加引号。谢谢您的回答。我希望它是一个更早的版本,因为我的生产服务器是5.3.1。@AleksG,鉴于上面的代码示例,这将是一个无效的假设。因为很可能没有。此外,添加它们并说明原因也没什么坏处(这样你就把决定权留给提问者了)。@Johnno13:然后你需要使用第二种方法