我想知道是否可以在数组中执行str_replace。我有一个脚本从CSV文件获取值并将其放入mysql数据库。但是,csv文件中的单元格可能包含“ - ”,以表示没有值。但是,当前脚本会将值' - '导入mysql数据库。我想要的是它将忽略值' - '或用''(一个空单元格值)替换它,以便没有值被导入到mysql数据库中。
这是当前数组的样子(脚本的一部分)。我想将过滤器应用于:sub_sub_category
public function setFields($dir = 'import')
{
$timeNow = date('Y-m-d H:i:s');
if ($this->v14)
$this->_path = realpath(_PS_ADMIN_DIR_.'/'.$dir).DIRECTORY_SEPARATOR;
else
$this->_path = realpath(PS_ADMIN_DIR.'/'.$dir).DIRECTORY_SEPARATOR;
$this->psFields1a = array(
'sub_sub_category' => $this->l('Sub-sub-category'));
}
我希望我的意思很明确,这是可行的事情。 谢谢, Robbert
答案 0 :(得分:2)
以下代码演示了如何使用 array_walk 从数组中删除所有“ - ”连字符。
function remove_dash(&$item, $key) {
if($item === '-') $item = '';
}
$myArray = array("d" => "hello", "-", "b" => "test", "c" => "-");
array_walk($myArray, 'remove_dash');
(希望我能理解这个问题)
答案 1 :(得分:0)
我希望这是你正在看的正确的路线,但为什么不在你设定的时候这样做呢?
$this->psFields1a = array(
sub_sub_category => str_replace('-','',$this->l('Sub-sub-category'))
);