Foreach через JSONArray в PHP - PullRequest
       5

Foreach через JSONArray в PHP

4 голосов
/ 26 марта 2011

Я получаю эту ошибку:

Предупреждение: неверный аргумент для foreach () в [page] .php в строке 49

Это эхопеременной $ json: [{"d":"2011-03-26","q":1,"t":1060},{"d":"2011-03-26","q":2,"t":1060},{"d":"2011-03-26","q":1,"t":1060}]

И я пытаюсь выполнить итерацию так:

foreach($json as $obj) { // <--THIS IS LINE 49
    // Stuff
}

Ответы [ 4 ]

6 голосов
/ 26 марта 2011

Просто предположение:

Ваша переменная $json является строкой. Вам нужно преобразовать его в объект, используя json_decode для итерации по объекту:

$json_obj = json_decode( $json );
foreach( $json_obj as $obj )
{
  //stuff
}
1 голос
/ 26 марта 2011

Попробуйте сначала использовать json_decode(). Похоже, что ваша переменная закодирована в json, что означает, что на самом деле это просто строка, и, следовательно, она не перечисляется foreach.

foreach(json_decode($json) as $obj) {
    // stuff
}
1 голос
/ 26 марта 2011

вам нужно декодировать JSON, прежде чем вы сможете выполнить его итерацию.

Сама JSON-String не имеет смысла рассматривать.

0 голосов
/ 29 марта 2011

foreach(json_decode($json) as $obj) { // stuff }

Возвращает предупреждение, подобное этому: неверный аргумент, предоставленный для foreach (), хотя работает.

Мой код здесь:

function search_terms ( $json , $term ) 
        {
            if ( $json != null ){
                foreach ( $json as $item ) {// Recursive function
                    $this->search_terms ( $item, $term );
                }
            }else{

            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...