我在这样的文件中有一行:
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
答案 0 :(得分:0)
尝试打印数组print_r($ pieces),您将看到在内爆后保存在特定字段中的内容。
答案 1 :(得分:0)
如果我运行您问题中的代码,则可以正常运行:
<?php
$line = '0000000/BirthstoneEnsemble/f/0/1380152724';
$pieces = explode("/", $line);
echo var_dump($pieces[0] == "0000000"); //true
?>
答案 2 :(得分:0)
我会使用相同的比较运算符并输入cast pieces[0]
作为字符串。
$line = '0000000/BirthstoneEnsemble/f/0/1380152724';
$pieces = explode('/',$line);
//echo '<pre>',print_r($pieces),'</pre>';
if((string)$pieces[0]==='0000000'){
echo true;
}else{
echo false;
}
// output: 1
答案 3 :(得分:0)