PHP избыточные переменные - PullRequest
0 голосов
/ 13 мая 2011

Я создаю избыточные переменные в PHP при запросах к базе данных.

В Javascript, C # и Java я могу напрямую использовать оператор индекса массива после вызова метода, где, как и в PHP, яне может.

Следующий пример иллюстрирует мою точку зрения:

// $result -> SELECT t.id
//            FROM table t
//            WHERE t.name = 'bla'
//            LIMIT 1    

$o = mysql_fetch_assoc($result);
$value = $o['valueIndex'];

И это было бы неверно:

$value = mysql_fetch_assoc($result)['valueIndex'];

Почему вышеприведенное неверно, они сделали это по замыслу?Или грамматика станет слишком сложной?

Маленькая скрипка над здесь .

Ответы [ 2 ]

4 голосов
/ 13 мая 2011

Это будет реализовано в PHP 5.4 в его текущем состоянии.

В вашем конкретном случае вы можете использовать следующий обходной путь:

$value = mysql_fetch_object($result)->valueIndex;

Хотя разыменование массива не планировалосьФункция PHP, доступ к объектам всегда возможен для результатов функции.

0 голосов
/ 13 мая 2011

Это должно сработать, не так ли?

$value = (mysql_fetch_assoc($result))['valueIndex'];

...