我有一个脚本我正在为自动化任务工作,所以我并不真正担心干净的代码,因为它将只用一次。php只允许数字数据和逗号,删除重复的逗号
该脚本读取平面文件并将信息存储到数组中,该数组稍后将用于从数据库中读取某些内容。
但是,我只想要数值数据,所以我使用了preg_replace()和逗号。我的代码如下。
这些是使用循环从平面文件中的值中读取的。
$store = array();
$store[] = 111;
$store[] = 2;
$store[] = 4;
$store[] = 55;
$store[] = 66;
$store[] = 'Kilory';
$store[] = 9090;
$theList[$i] = preg_replace('/[^0-9,]/u', '', implode(',', $store));
unset($store);
这给了我的结果是0,2,4,55,66,,9090。如果我尝试使用这些信息在mysql IN()语句中使用,由于有两个逗号相邻,它会向我吐出一个错误。删除相邻的重复项的最佳方法是什么?
谢谢!
...如果有3个逗号? – 2013-04-10 15:44:49
他确实递归地说。如果你有三个逗号,并且你使用了他的功能,那么你将剩下两个......这将在下一个回合中变成一个。 – 2013-04-10 15:46:17
固定,对不起。 (但他只说了两倍,而不是三倍) – bwoebi 2013-04-10 15:46:25