从数组中检索值并创建条件

Retrieve a value from an array and make a condition

我在 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不识别数组中的值!

我怎样才能使条件起作用?

您的数组值(颜色名称)包含单引号,您在搜索值时需要包含单引号:

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

为什么不这样做:

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

问题是您将颜色转义到数组中。而不是使用

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

随心所欲

$colors[] = $term->slug

然后当你把slug输出到网页或者数据库的时候,你就转义了。