用file()读取编码为UTF-8的空文本,数组元素个数为什么会显示1? ?php $orders=file("$D【本文来自鸿网互联 (http://www.68idc.cn)】OCUMENT_ROOT/../data/order.txt"); $number_of_orders=count($orders); echo"$number_of_orders"; if($number_of_orders1){
用file()读取编码为UTF-8的空文本,数组元素个数为什么会显示1?
$orders=file("$D【本文来自鸿网互联 (http://www.68idc.cn)】OCUMENT_ROOT/../data/order.txt");
$number_of_orders=count($orders);
echo"$number_of_orders";
if($number_of_orders echo"
No orders pending.
Please try again later.
}
for($i=0;$i echo $orders[$i]."
";
}
?>
刚接触PHP,按照书上例子用以上代码读取TXT文本中的订单数据时,出现数组元素元素个数的问题。
1.新建order.txt文件(默认编码格式为ANSI),不作任何添加和修改,运行代码,显示$number_of_orders=0
2.打开order.txt文件,并另存为编码格式为utf-8的文件,其中不做任何修改,但是$number_of_orders=1
3.修改新建文件的默认编码格式为utf-8,直接新建order.txt文件,还是$number_of_orders=1
4.在order.txt文件中添加一行数据$number_of_orders=1,添加2行数据$number_of_orders=2....(这又正常啊)
问:为什么空文本在编码为UTF-8的时候$number_of_orders的值会是1?那该怎么判断文本是空还是只有一行数据?
------解决思路----------------------
对呀,Windows 系统中,用记事本另存为编码格式为utf-8的文件,会有一个标识文件字符集的 BOM 头
------解决思路----------------------
你用其他的文本编辑器就没这个BOM头了,微软就是喜欢非主流。
------解决思路----------------------
BOM 头是用来标志文本文件的字符集的,这是规范的做法
用户可根据 BOM 头正确的解释文本的内容,所以并非非主流
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具