подскажите по пхп

J
На сайте с 08.06.2006
Offline
844
193
$posttags = get_the_tags ($post->ID);

foreach( $posttags as $tag )
$tags[] = $tag->term_id;


на


foreach( $posttags as $tag )

warning - используется не массив.

L
На сайте с 10.02.2015
Offline
222
#1
var_dump($posttags);
J
На сайте с 08.06.2006
Offline
844
#2
если таки не array, то что делать?
Gerga
На сайте с 02.08.2015
Offline
94
#3
joost #:
если таки не array, то что делать?

перед использованием foreach проверить $posttags

LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#4
joost #:
если таки не array, то что делать?

Сделать проверку: https://www.php.net/manual/ru/function.is-array.php

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
S
На сайте с 13.10.2014
Offline
171
#5
$posttags = (array) get_the_tags ($post->ID);

Апд.
такой подход уместен, только при условии, что нет обращения к элементам массива.

в вашем случае надо делать проверку

$posttags =  get_the_tags ($post->ID);
if (is_array( $posttags )){
foreach...
}

LEOnidUKG
На сайте с 25.11.2006
Offline
1724
#6

$posttags = (array) get_the_tags ($post->ID);

Это просто тоже самое, что:

$posttags = array();
$posttags = get_the_tags ($post->ID);

Поэтому только проверка.

S
На сайте с 13.10.2014
Offline
171
#7
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
На сайте с 29.09.2005
Offline
191
#8
Надо ставить symfony 5.2
Иногда полезно проигрывать - это держит тебя в тонусе... Мне так рассказывали (с) Shark Покупаю сайты (стройка/отделка/стройматериалы) по адекватной цене. Предложения в личку. Траф - обязателен

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий