【发布时间】:2013-12-13 21:17:20
【问题描述】:
我在这样的文件中有一行:
0000000/BirthstoneEnsemble/f/0/1380152724
我被$pieces = explode("/", $line);炸了
当我执行 echo $pieces[0] == "0000000" 时,它返回 false。我尝试将pieces[0] 转换为字符串,但总是不正确。
function build_file_assoc() {
global $dir;
$assoc = [];
$file_assoc = file($dir . 'rsnjxdlxwxwun.dbt');
for($i = 0; $i < count($file_assoc) - 1; $i++) {
if($i > 0) {
list($parent_folder, $image_name, $tag, $size, $date) = explode("/", $file_assoc[$i]);
$assoc[] = [
'parent_folder' => (string)$parent_folder,
'image_name' => $image_name,
'tag' => $tag,
'size' => $size,
'date' => $date
];
}
}
return $assoc;
}
$g = build_file_assoc();
$first = $g[0]['parent_folder'];
echo $first == "0000000"; // false
文件内容:
0000000/BirthstoneEnsemble/f/0/1380152724
0000000/Thumbs.db/a/83968/1384248954
0000000/bridal images for frame/f/0/1380152879
【问题讨论】:
-
你确定
$pieces[0]是你认为的那样吗? -
是的。这令人沮丧,因为它在视觉上打印为 0000000,这是我所期望的。在引擎盖下,显然不是这样。
-
您是否尝试过使用严格比较
===? -
用完整代码更新了问题。是的,我尝试过 ==、===、将两边都转换为字符串等。
-
哦,隐藏的空间让人头疼。