Получить значение из массива и создать условие

У меня есть следующий код, который я использую на WordPress:

if($terms && !is_wp_error($terms) ) {
$colors = array();
foreach ($terms as $term) {
$colors[] = '\'' . $term->slug . '\'';
}
}

print_r(array_values($thePack));

Переменная $color Теперь это базовый массив, который print_r отображается так:

Array (
[0] => 'white'
[1] => 'green'
)

Я хотел бы сделать условие, чтобы распознать, имеет ли массив конкретное значение или нет, например:

if(in_array('white', $colors) {
echo "This is white";
}

Тем не менее, это не работает вообще, потому что in_array не распознает значение в массиве!

Как я мог заставить условие работать?

0

Решение

Значения вашего массива (имена цветов) включают одинарные кавычки, которые необходимо включить при поиске значения:

if(in_array("'white'", $colors) {
// ...
}
4

Другие решения

Почему бы не сделать что-то вроде этого:

while(list($key, $value) = each($array)){
if($value == 'white'){
echo 'this is white';
}
}
0

Проблема в том, что вы экранируете цвет в массив. Вместо того, чтобы использовать

$colors[] = '\''.$term->slug.'\''

Просто делать

$colors[] = $term->slug

И когда вы выводите слаг на веб-страницу или в базу данных, вы избегаете его.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector