注意:未定义的索引:命中

时间:2015-08-24 15:31:44

标签: php elasticsearch

我有一个搜索查询,在执行搜索查询后,我将$ result放入一个数组中。

我的PHP代码 -

$contents = $client->search($params); // executing the search

$search = array($contents); // make the result $contents as a array
 for ($i = 0; $i < count($search); $i++) {
$search['hits']['total']['title'] = strip_tags($search['hits']['total']['title']); // Trying to access the title

会产生数组----

Array ( 
    [0] => Array ( 
        [took] => 1 
        [timed_out] => 
        [_shards] => Array ( 
            [total] => 2 
            [successful] => 2 
            [failed] => 0 
        ) 
        [hits] => Array (     
            [total] => 1 
            [max_score] => 2.6818755 
            [hits] => Array ( 
                [0] => Array ( 
                    [_index] => myindex 
                    [_type] => mytype 
                    [_id] => p36d3742b982586d8d 
                    [_score] => 2.6818755 
                    [_source] => Array ( 
                        [title] => Salma Hayek  => Salma Hayeks... 
                        [source] => Hello 
                        [guid] => p36d3742b982586d8d 
                        [pub_id] => 54ae51e5 
                        [type] => news
                    ) 
                ) 
            ) 
        ) 
    ) 
) 

现在问题是我每次尝试访问标题时都会注意到:未定义索引:点击

我试过像---

$search['hits']['total']['title'] = strip_tags($search['hits']['total']['title']);

$search['']['hits']['total']['title'] = strip_tags($search['']['hits']['total']['title']);

没有什么对我有用,可能是犯了一个简单的错误,任何人都知道我在哪里犯了错误。

我也试过这样使用它----

$search[$i]['hits']['total']['title'] = strip_tags($search[$i]['hits']['total']['title']);

但它给我一个错误,如:

  

警告:不能将标量值用作数组

如何访问我的标题?

1 个答案:

答案 0 :(得分:2)

您遗失$i,请使用$search[$i]['hits']

这是标题为$search[$i]['hits']['hits'][0]['_source']['title']

的地方