比较if语句php的数组值

时间:2011-10-07 18:28:57

标签: php

我有一个名字列表james,steve,manson,charles in a array,我使用explode函数来分隔它们。

 $pieces = explode(",", $full);

foreach ($pieces as $p ){

    $piece[]=$p;
}

我遇到的问题是我可以访问变量

$piece[0];
$piece[1];

但是顺序根据输入的不同而不同,因此我无法进行比较。有人可以建议如何设置值,以便我可以进行比较,如下所示

 if ($piece==='manson'){
//do something;
}else{
//do something
}

 if ($piece==='steve'){
//do something;
}else{
//do something
}

1 个答案:

答案 0 :(得分:4)

$full = 'james,steve,manson,charles';
$pieces = explode(",", $full);

使用循环

foreach($pieces as $p ) {
    // $p holds the name
    if($p==='manson') {
        //do something;
    } elseif($p==='steve') {
        //do something;
    } else {
        //do something
    }
}

你也可以只检查数组中的名称而不是循环

if(in_array('steve',$pieces)) {
    echo 'We have Steve in the house';
}

或Jon建议使用开关

foreach($pieces as $p) {
    switch ($p) {
        case 'manson':
        case 'steve':
        case 2:
            echo "Fist pump for ".$p;
            break;
        default:
            echo "no fist in the air";
    }
}