数组中的str_replace?

时间:2013-11-20 01:42:19

标签: php arrays str-replace

我想知道是否可以在数组中执行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

2 个答案:

答案 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'))
);