Полностью удалить тег <li>из представления - PullRequest
0 голосов
/ 01 мая 2019

У меня есть объект массива из API сына, и я хочу отобразить только первые 3 элемента и скрыть остальные элементы.

К сожалению, когда я пытаюсь скрыть остальные элементы из представленияэто все еще показывает, что список был там, но скрыт.Я хочу полностью это скрыть, не уничтожая значения в этом списке.

Мой код ниже

$characters = json_decode($data);
foreach ($characters as $character) {

    <?php echo "<li style='display:none'>".$character->name . '<br>'."</li>"; ?>

}

1 Ответ

0 голосов
/ 01 мая 2019

Вы можете использовать метод array_slice для создания другого массива с уменьшенным количеством элементов (для вашего примера это будет 3).

Решение для вашего примера:

<?php echo "<li>". array_slice($character, 0, 3)->name . '<br>'."</li>"; ?>

Дополнительная информация о методе array_slice:

array_slice () возвращает последовательность элементов из массива массива как определяется параметрами смещения и длины.

array_slice(array,start,length,preserve)

массив: входной массив.

смещение: number

  • Параметр смещения обозначает позицию в массиве, а не ключ. Если смещение неотрицательное, последовательность будет начинаться с этого смещения в массиве. Если смещение отрицательно, последовательность начнется так далеко от конца массива.

длина: number

  • Если длина задана и является положительной, то в последовательности будет до такого количества элементов.

  • Если массив короче длины, то будут присутствовать только доступные элементы массива.

  • Если задана длина и она отрицательна, последовательность остановит столько элементов из конца массива.

  • Если он опущен, то в последовательности будет все от смещения до конца массива.

preserve_keys: boolean

  • array_slice () изменит порядок и сбросит индексы целочисленного массива по умолчанию Это поведение можно изменить, установив preserve_keys в TRUE. Строковые ключи всегда сохраняются независимо от этого параметра.
...