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

时间:2015-02-11 18:27:03

标签: php arrays conditional-statements

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

我怎样才能使条件有效?

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

为什么不这样做:

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

答案 2 :(得分:0)

问题是你正在将颜色转移到数组中。而不是使用

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

只做

$colors[] = $term->slug

当你将slug输出到网页或数据库时,你就逃脱了它。