spamboo
@spamboo
регулярки это не мое :(

Phpв вытащить часть массива из json?

собственно имеем часть json
"screen_film": [
{
"preview": "https://st.kp.yandex.net/images/kadr/2751407.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751406.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751405.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751404.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751403.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751402.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751401.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751400.jpg"
},
{
"preview": "https://st.kp.yandex.net/images/kadr/2751399.jpg"
}
]

Нужно вывести первые 3 "preview"
например строчку
"name_ru": "Звёздные войны: Пробуждение силы",
вывожу так
$obj=json_decode($homepage);
echo $obj->name_ru.'</br>';

==========
Суть вопроса как вывести первые 3 "preview"
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
@Arik
array_slice

$obj = json_decode($homepage);
echo $obj->name_ru.'</br>';

$previews = array_slice($obj->screen_film, 0, 3);

foreach($previews as $preview) {
    echo '<img src="' . $preview->preview . '">';
}

// update 2
// Собираем всех
$creators = [];

foreach ($obj->creators->director as $director) {
    $creators[] = $director->name_person_ru;
}

// макс первых 6
$creators = array_slice($creators, 0, 6);

// SQL
$sql = 'INSERT *** VALUES("'. implode('", "', $creators) .'")';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы