首页 > 解决方案 > if/else 在 php 的 foreach 循环中不起作用

问题描述

我是 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
字符 b
字符 1、2、3、c、d、e

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

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

标签: phparraysloopsif-statement

解决方案


' , '你通过注意逗号前后的空格来爆炸它

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


推荐阅读