我有一个包含以下内容的文件:
toto;145
titi;7
tata;28
我将这个文件分解为一个数组.
我可以用该代码显示数据:
foreach ($lines as $line_num => $line) {
$tab = explode(";",$line);
//erase return line
$tab[1]=preg_replace('/[\r\n]+/', "", $tab[1]);
echo $tab[0]; //toto //titi //tata
echo $tab[1]; //145 //7 //28
}
我想确保每个$tab [0]和$tab [1]中包含的数据都是唯一的.
例如,如果文件类似于:我想要“引发新异常”:
toto;145
titi;7
tutu;7
tata;28
或喜欢:
toto;145
tata;7
tata;28
我怎样才能做到这一点 ?
解决方法:
使用file()将文件转换为数组,并通过其他复制检查将其转换为关联数组.
$lines = file('file.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$tab = array();
foreach ($lines as $line) {
list($key, $val) = explode(';', $line);
if (array_key_exists($key, $tab) || in_array($val, $tab)) {
// throw exception
} else {
$tab[$key] = $val;
}
}