douni1396 2011-05-13 08:06
浏览 21
已采纳

PHP冗余变量

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.

  • 写回答

2条回答 默认 最新

  • dongsheng1698 2011-05-13 08:11
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错