如果/否则在PHP的foreach循环中不起作用

时间:2019-08-15 20:42:06

标签: php arrays loops if-statement

我是PHP的新手,我没有在foreach循环中使用if / else语句循环遍历所有记录。

$ string =“ a,b,1,2,3,c,d,e”;

$string = explode(' , ', $string);

foreach ($string as $value) {


    if(is_int($value)){

        echo 'Int ' . $value . '<br>';

    }else{


        echo 'Char ' . $value . '<br>';
    }


}

我从上面的代码中得到了这个结果,

输出

字符a
Char b
字符1、2、3,c,d,e

我期望得到以下结果,所以请帮我弄清楚。谢谢

字符a
char b
整数1
int 2
int 3
字符c
char d
char e

2 个答案:

答案 0 :(得分:1)

' , '引起爆炸,请注意逗号前后的空格

您应该这样做:$string = explode(',', $string);

答案 1 :(得分:-1)

如果您有字符串并使用explode,则每个元素仍然是字符串。 表示它是“ 1”。 is_int(“ 1”)为假。 您需要is_numeric()