dongyongju9560 2014-05-27 10:57
浏览 74
已采纳

如何在php中解析elasticsearch响应

I try to parse my elasticsearch response in php. When i print my json resultat with a var_dump, i've got that:

Array (
    [took] => 6
    [timed_out] => 
    [_shards] => Array (
        [total] => 5
        [successful] => 5
        [failed] => 0
    )
    [hits] => Array (
        [total] => 1
        [max_score] => 0.44896343
        [hits] => Array (
            [0] => Array (
                [_index] => car
                [_type] => car
                [_id] => DqE0c4ygRgC81o39DNmwhQ
                [_score] => 0.44896343
                [_source] => Array (
                    [currency] => EUR
                    [link] => myrurl
                    [reference] => A785454A
                    [brand] => mybrand
                    [model] => mymodel
                    [description] =>
                    [link_picture] => mylinkpicture
                    [price] => myprice
                    [km] => mykm
                    [start_years] =>
                    [active] => 1
                    [title] => mytitle
                    [ranking] => 22
                    [date_create] => 2014-05-26
                )
            )
        )
    )
)

But, when i try to list or to find a title by a foreach:

$myData = json_decode($response);
foreach ($myobj->hits->hits as $result) {
    echo $result->_source->title;
}

that doesn't work, because i obtain this error:

Message: Invalid argument supplied for foreach()

I don't see why. Thanks in advnce.

  • 写回答

1条回答 默认 最新

  • douxin1163 2014-05-27 11:12
    关注

    In foreach you are trying to use "$myobj". But decoded json is in "$myData".

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面