PHP冗余变量

时间:2011-05-13 08:06:29

标签: php function variables

在查询数据库时,我发现自己在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'];

为什么上述无效,是否按设计进行了此操作?或者语法会变得太复杂?

here

2 个答案:

答案 0 :(得分:4)

这将在目前的PHP 5.4中实现。

在您的具体情况下,您现在可以使用以下解决方法:

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

虽然数组derefencing不是计划的PHP功能,但对于函数结果总是可以访问对象。

答案 1 :(得分:0)

不应该这样吗?

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