2013-05-31 4 views
0

Почему этот код работы:Странное поведение массива возвращается функцией

$row = $stmt->fetch(); 
$result = array("status"=>"0", "uid"=>($row["id"])); 

И это один не делает:

$result = array("status"=>"0", "uid"=>(($stmt->fetch())["id"])); 
+0

Извините за дубликат и спасибо за ответ. –

+0

@ValentinSolina проблем нет. Спасибо за 15 представителей за принятие;) – imulsion

ответ

2

Начиная с PHP 5.4, что можно делать то, что вы сделали.

getSomeArray()[$someKey] 

Ссылка: http://php.net/manual/en/language.types.array.php#example-88

До PHP 5.3, вы должны будете использовать временную переменную.

+0

Прохладный, я не знал, что они добавили это в PHP 5.4. –

+0

@MattBrowne Я знаю, его довольно полезно – imulsion

+2

Почему люди держат это впустую? В PHP 5.3 или ниже временная переменная действительно является единственным способом достижения этого. –