在查询数据库时,我发现自己在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上做点小提琴。
发布于 2011-05-13 16:11:49
这将在目前的PHP5.4中实现。
在您的特定情况下,您可以暂时使用以下解决方法:
$value = mysql_fetch_object($result)->valueIndex;虽然数组去引用不是PHP计划中的特性,但对象访问始终可以用于函数结果。
发布于 2011-05-13 16:09:06
这应该能行,不是吗?
$value = (mysql_fetch_assoc($result))['valueIndex'];
https://stackoverflow.com/questions/5989022
复制相似问题