php - 如何解析PHP中的elasticsearch响应

标签 php arrays json elasticsearch

我尝试在php中解析我的elasticsearch响应。
当我用var_dump打印json结果时,我知道了:

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
                )
            )
        )
    )
)

但是,当我尝试通过foreach列出或查找标题时:
$myData = json_decode($response);
foreach ($myobj->hits->hits as $result) {
    echo $result->_source->title;
}

那行不通,因为我收到此错误:

Message: Invalid argument supplied for foreach()



我不明白为什么。
提前感谢。

最佳答案

在foreach中,您尝试使用“$ myobj”。
但是解码后的json位于“$ myData”中。

关于php - 如何解析PHP中的elasticsearch响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23887629/

相关文章:

javascript - 在 Ajax 弹出窗口中显示 PHP 输出

php - DOMDocument 删除脚本标签中的结束标签

javascript - 在javascript中向数组元素添加属性

java - 将数据添加到 JTable 对象的 object[][]

java - 是否有可以自动序列化为XML或JSON的动态数据结构?

javascript - Laravel 5.1 typeahead.js 无法找到任何数据

php - 不要在 mysql 数据库中复制内容

sql - 如何在 PostgreSQL 中查询 JSON 列以获取唯一对象值

c - 查找 2 个字符串是否由相同单词组成的函数

python - 如何使用 itertools.groupby 格式化字典列表?