为什么PHP_EOL等于0?

时间:2019-04-16 07:00:37

标签: php

我的值由换行符分隔。有时可以添加一个空值,导致2 PHP_EOL。但是某些值(只能是数字)可能以0结尾(例如4950)。

我正在使用此代码:

foreach($myVar as $key => $value) {
    while(substr($value, -1, 1) == PHP_EOL) {
        $value = substr($value, -1, 1);
    }
}

但是似乎PHP_EOL == 0,切断了我值的最后一个“ 0”(例如4950-> 495)。

尝试使用此代码找出答案:

if(PHP_EOL == 0) {
    echo "CONV0<br>";
}

if(PHP_EOL == 1) {
    echo "CONV1<br>";
}

在不中断0的情况下删除每个PHP_EOL的好方法是什么?为什么PHP_EOL == 0?真奇怪!

1 个答案:

答案 0 :(得分:1)

  

在不中断0的情况下删除每个PHP_EOL的好方法是什么?

$value = rtrim($value, PHP_EOL);

请参见http://php.net/rtrim

关于PHP_EOL等于0的原因,请参见PHP type juggling, "String" == 0 and "String" == true