我不知道我在下面的代码中做错了什么但它没有用。
if($_data_count = count($_csv_raw_array) > 0){
foreach($_csv_raw_array as $_csv_row){
array_push($this->_data, array_map(call_user_func(array($this, 'replace')), $_csv_row));
}
return $this->result(true, 'CSV parsing done.', '', $this->_data);
}
//替换功能是:
private function replace($_value){
return preg_match('/(\r\n|\n|\r)/', $_value) ? '' : $_value;
}
但我不知道它为什么不起作用并引发异常:
遇到PHP错误
严重性:警告
消息:导入:: replace()
缺少参数1文件名:libraries / Import.php
行号:116
基本上我想要的是导入我已经导入的CSV文件,现在我想替换数组中存在的任何新行字符替换为空(无)。但每次执行此代码时都会抛出异常。你能在那里建议的人吗?请。
感谢名单
答案 0 :(得分:0)
正如评论中指出的那样,根据您的代码判断,您将要删除call_user_func
,因为这会导致函数立即被调用,而这似乎不是您想要的,我认为是在每次迭代中过滤掉$ _csv_row中的所有元素:
if($_data_count = count($_csv_raw_array) > 0){
foreach($_csv_raw_array as $_csv_row){
array_push($this->_data, array_map(array($this, 'replace'), $_csv_row));
}
return $this->result(true, 'CSV parsing done.', '', $this->_data);
}
我们只能猜测你的意图是什么,你可能想提供一个示例csv和所需的输出,这样我们就能更准确地理解你在寻找什么,如果这不能解决问题。