php - 为什么 PHP_EOL 等于 0?
问题描述
我有由换行符分隔的值。有时可以添加一个空值,导致 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 ?那很奇怪 !
解决方案
在不切断 0 的情况下删除每个 PHP_EOL 的好方法是什么?
$value = rtrim($value, PHP_EOL);
至于为什么PHP_EOL
equals 0
,请参见PHP 类型杂耍,“String” == 0 和 “String” == true。
推荐阅读
- python-3.x - ZMQ 错误:zmq.error.ZMQError:权限被拒绝
- c# - 将 TextBox 中的 id 数量增加一
- python - Django 选择字段
- python - 如何在 python3 中定义这些哈希函数?
- javascript - 如何在 JS 中按字母顺序对 HTML 标签进行排序?
- sql-server - SSIS如何使用作业运行.net core Action
- python - 如何正确使用 Cross Entropy Loss vs Softmax 进行分类?
- javascript - 空字节注入如何工作?
- python - 十进制到bin递归函数python
- python - 使用事件溯源时读取 GraphQL 突变结果