Я новичок в PHP и работаю над сценарием для получения данных JSON с URL. Я получил данные с URL и расшифровал этот JSON.
Но проблема в том, что декодированный массив JSON не преобразуется в String
, При попытке запустить в foreach
петля
Вот пример вывода этого массива:
Имя массива: $data
ВЫХОД:
array(2) {
[0]=> string(5) "world"[1]=> array(12) {
[0]=> string(15) "worldstarhiphop"[1]=> >string(17) "world series 2014"[2]=> string(18) "world of solitaire"[3]=> string(9) "world map"[4]=> string(19) "world's tallest cow"[5]=> string(10) "world news"[6]=> string(12) "world series"[7]=> string(9) "worldstar"[8]=> string(12) "world market"[9]=> string(29) "worldstarhiphop official site"[10]=> string(19) "world's tallest dog"[11]=> string(17) "world of warcraft"}
}
Я попробовал это:
if(is_array($data)) {
foreach ($data as $key=>$value) {
echo $value;
}
}
Давать эту ошибку:
Notice: Array to string conversion in
Если ваш массив всегда так структурирован с 0
как слово и 1
содержащий массив связанных слов, тогда:
echo $data[0];
foreach ($data[1] as $value) {
echo $value;
}
Это должно помочь вам начать. Var_dump в основном для отладки, показывая вам содержимое переменной.
foreach($data as $foo) {
if(is_array($foo) {
foreach($foo as $bar) {
var_dump($bar);
}
} else {
var_dump($foo);
}
}
Учтите, что это также может быть решено рекурсивным способом.
function printNestedArray($foo)
{
if(is_array($foo) === false) {
var_dump($foo);
} else {
foreach($foo as $bar) {
printNestedArray($bar);
}
}
}