这是我的代码:
if($heightparts[0]>9){
echo "height=>".$heightparts[0];
$pp=explode("",$heightparts[0]);
var_dump($pp);die();
//$heightparts=explode("",$heightparts[0]);
}
这是我的输出:height=>52bool(false)
$heightparts[0]
目前的值为52。
我不明白为什么在数字52
上爆炸会返回bool false。我甚至尝试将$heightparts[0]
作为字符串进行投射。
答案 0 :(得分:1)
您正在echo
后紧跟var_dump
echo
输出52
和var_dump
输出bool(false)
来自explode
如果分隔符是空字符串(""),则explode()将返回FALSE。
答案 1 :(得分:1)
使用str_split()
:
if ($heightparts[0] > 9) {
echo "height=>".$heightparts[0];
$heightparts = str_split($heightparts[0]);
}
答案 2 :(得分:1)
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"
}
<强>解释强>
根据手册explode,您只能将字符串拆分为return,否则返回false:
如果分隔符是空字符串(&#34;&#34;),则explode()将返回FALSE。
您已关闭错误报告,否则您将产生错误:
警告:explode():在...中清空分隔符