我使用以下代码导入一个包含两列的csv - account&电话:
$csv = array();
$file = fopen('import.csv', 'r');
while (($result = fgetcsv($file)) !== false)
{
$csv[] = $result;
}
fclose($file);
结果如下所示:
Array
(
[0] => Array
(
[0] => 5182334
[1] => (360) 293-7786
)
[1] => Array
(
[0] => 8372855
[1] => (360) 755-3237
)
[2] => Array
(
[0] => 8373250
[1] => (360) 873-8853
)
[3] => Array
(
[0] => 8373226
[1] => (360) 588-1905
)
)
我需要做的是循环播放数组并清理电话号码,删除空格,反对等。我知道如何进行清理,但无法弄清楚如何循环通过阵列进行清理
答案 0 :(得分:3)
例如,您可以使用array_map
和preg_replace
。
function clean($item) {
$item[1] = preg_replace('#[^\d]#', '', $item[1]);
return $item;
}
$csv = array_map("clean", $csv);
或直接在加载阶段:
$csv = array();
$file = fopen('import.csv', 'r');
while (($result = fgetcsv($file)) !== false)
{
$result[1] = preg_replace('#[^\d]#', '', $result[1]);
$csv[] = $result;
}
答案 1 :(得分:0)
尝试:
$arr = array(....); //your array
//Removing '(', ')', ' ' and '-' from the array values.
foreach($arr as $v)
$v = str_replace(array(' ', '(', ')', '-'), '', $v);
答案 2 :(得分:0)
$search = array(' ', '-', '(', ')');
foreach($csv as &$line) {
$line[1] = str_replace($search, '', $line[1]);
}