2015-08-24 2 views
0

У меня есть поисковый запрос, и после выполнения поискового запроса я помещаю $ 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']); 

Но вернуть мне ошибку как:

Предупреждение: Не удается использовать скалярное значение как массив

Как я могу получить доступ к своему названию?

+0

если вы дамп массив в удобном для чтения, как вы бы легко найти правильный путь к переменной. – Popnoodles

ответ

2

Вам не хватает $i, используйте $search[$i]['hits'].

Это где название $search[$i]['hits']['hits'][0]['_source']['title']

+0

спасибо за ваш ответ, но если я это сделаю, он вернет мне «Предупреждение: нельзя использовать скалярное значение как массив»! –

+0

use $ search [$ i] ['hits'] ['total'] не является массивом, это целое число. – Pradeep

+0

Я знаю, что это целое число, но оно возвращает мне эту ошибку –

Смежные вопросы