无法分解字符串异常结果


Cannot explode string quirky results

这是我的代码:

     if($heightparts[0]>9){
       echo "height=>".$heightparts[0];
       $pp=explode("",$heightparts[0]);
       var_dump($pp);die();
         //$heightparts=explode("",$heightparts[0]);
     }

这是我的输出:height=>52bool(false)

CCD_ 2当前的值为52。

我不明白为什么在数字52上爆炸会返回bool-false。我甚至试着把$heightparts[0]作为字符串。

您正在执行echo,然后是var_dump

echo输出52var_dump输出bool(false)

来自explode 的手动输入

如果分隔符是空字符串("),explode()将返回FALSE。

为此使用str_split()

if ($heightparts[0] > 9) {
   echo "height=>".$heightparts[0];
   $heightparts = str_split($heightparts[0]);
}

使用str_split

if($heightparts[0]>9){
  echo "height=>".$heightparts[0];
  $pp=str_split($heightparts[0]);
  var_dump($pp);die();
}

输出:

height=>52
array(2) {
  [0]=>
  string(1) "5"
  [1]=>
  string(1) "2"
}

解释:

根据手动分解,您可以拆分字符串,否则返回false:

如果分隔符是空字符串("),explode()将返回FALSE。

你已经关闭了错误报告,否则你会产生错误:

警告:explode():中的分隔符为空