PHP冗余变量

发布于 2024-11-07 07:40:57 字数 533 浏览 0 评论 0原文

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

为什么上面的内容无效,他们是故意这样做的吗?或者语法会变得太复杂吗?

此处稍作改动。

I find myself creating redundant variables in PHP when querying the database.

In Javascript, C# and Java I'm able to directly use an array index operator after a method call, where as in PHP, I can't.

The following example illustrates my point:

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

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

And this would be invalid:

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

Why is the above invalid, did they do this by design? Or would the grammar get too complicated?

Little fiddle over here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枉心 2024-11-14 07:40:58

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

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

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

虽然数组取消引用不是计划中的 PHP 功能,但函数结果始终可以进行对象访问。

This will be implemented in PHP 5.4 as it stands currently.

In your specific case you can use following workaround for now:

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

While array derefencing wasn't a planned PHP feature, object access is always possible for function results.

信仰 2024-11-14 07:40:58

这应该有效不是吗?

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

This should work shouldn't it?

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文