访问php对象而不创建变量?

时间:2014-01-12 19:50:46

标签: php object

现在我有:

$image = get_field('image');

如果我var_dump($image); 返回的数据如下所示:

Array
(
[id] => 540
[alt] => A Movie
[title] => Movie Poster: UP
[caption] => sweet image
[description] => a man and a baloon
[url] => http://localhost:8888/acf/up.jpg

)

如果我想访问标题,我会这样做:

$image['title'];

如果我想直接访问它,而不是像以下那样的变量:

get_field('image')['title'];

有可能吗?

3 个答案:

答案 0 :(得分:2)

据我所知,这可能是PHP 5.4

http://php.net/manual/en/migration54.new-features.php(检查第3点)

你所要做的只是更新你的php版本:)

答案 1 :(得分:2)

直接粘贴manual

  

从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。

     

从PHP 5.5开始,可以对数组取消引用数组文字。

示例#7阵列解除引用

<?php
function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();
?>

是的 - 你可以 - 但你需要PHP 5.4 +

答案 2 :(得分:1)

你说的是对象,但你的例子是一个数组。

无论如何它被称为数组解除引用,并且正如Jari所说,自从PHP 5.4以来已经可以。

来自http://us1.php.net/manual/en/language.types.array.php

  

从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。

     

从PHP 5.5开始,可以对数组取消引用数组文字。