Веб-строительствоподскажите по пхп 04.03.2021 joost 3 февраля 2021, 13:28 164$posttags = get_the_tags ($post->ID); foreach( $posttags as $tag ) $tags[] = $tag->term_id;наforeach( $posttags as $tag )warning — используется не массив. livetv 3 февраля 2021, 13:30var_dump($posttags); joost 3 февраля 2021, 13:46 если таки не array, то что делать? Gerga 3 февраля 2021, 20:11 joost #:если таки не array, то что делать?перед использованием foreach проверить $posttags LEOnidUKG 3 февраля 2021, 20:15 joost #:если таки не array, то что делать?Сделать проверку: https://www.php.net/manual/ru/function.is-array.php silicoid 4 февраля 2021, 11:30$posttags = (array) get_the_tags ($post->ID); Апд. такой подход уместен, только при условии, что нет обращения к элементам массива.в вашем случае надо делать проверку$posttags = get_the_tags ($post->ID);if (is_array( $posttags )){foreach…} LEOnidUKG 4 февраля 2021, 11:55$posttags = (array) get_the_tags ($post->ID);Это просто тоже самое, что:$posttags = array();$posttags = get_the_tags ($post->ID);Поэтому только проверка. silicoid 4 февраля 2021, 13:39 LEOnidUKG #:$posttags = (array) get_the_tags ($post->ID);Это просто тоже самое, что:$posttags = array();$posttags = get_the_tags ($post->ID);Поэтому только проверка.Нет, это не то же самое. (array)|(object)|(int) это преобразование типа без инициализации переменнойто-есть если у вас изначально $x = ‘any_data’;то array(); даст пустой массив, а (array) $x даст array[0=>any_data]; dimidrol 4 февраля 2021, 13:43 Надо ставить symfony 5.2 Похожие записи:Как и куда добавить условие IF в моем коде?как поднять массив с пустым значениемРеализация методов ConvertAll для многомерного массива в C #Пользователь разлогинивается при переходе на другую страницуОптимизация UPDATE в базу данных
joost
$posttags = get_the_tags ($post->ID); foreach( $posttags as $tag ) $tags[] = $tag->term_id;на
foreach( $posttags as $tag )warning — используется не массив.
livetv
joost
Gerga
если таки не array, то что делать?
перед использованием foreach проверить $posttags
LEOnidUKG
если таки не array, то что делать?
Сделать проверку: https://www.php.net/manual/ru/function.is-array.php
silicoid
Апд.
такой подход уместен, только при условии, что нет обращения к элементам массива.
в вашем случае надо делать проверку
$posttags = get_the_tags ($post->ID);
if (is_array( $posttags )){
foreach…
}
LEOnidUKG
$posttags = (array) get_the_tags ($post->ID);
Это просто тоже самое, что:
$posttags = array();
$posttags = get_the_tags ($post->ID);
Поэтому только проверка.
silicoid
$posttags = (array) get_the_tags ($post->ID);
Это просто тоже самое, что:
$posttags = array();
$posttags = get_the_tags ($post->ID);
Поэтому только проверка.
Нет, это не то же самое. (array)|(object)|(int) это преобразование типа без инициализации переменной
то-есть если у вас изначально $x = ‘any_data’;
то array(); даст пустой массив,
а (array) $x даст array[0=>any_data];
dimidrol