0

我正在尝试从 CSV 文件导入一些产品。我正在使用我在 PHP 网站上找到的示例。

在获得一些数据并做出一些逻辑之后,我最终得到了这个:

Array
(
    [attribute_set_id] => 9
    [status] => 1
    [visibility] => 4
    [store] => en
    [store] => es
)

如您所见,密钥库是重复的!

一个 var_dump

array(5) {
  ["attribute_set_id"]=>
  int(9)
  ["status"]=>
  int(1)
  ["visibility"]=>
  int(4)
  ["store"]=>
  string(2) "en"
  ["store"]=>
  string(2) "es"
}

更糟糕的是,isset()总是返回falsestrlen总是返回0

有人可以帮我解决这个问题吗?

编辑:

在完成了 fab 的建议后,我得到了这个结果:

array(6) {
  [0]=>
  string(16) "attribute_set_id"
  [1]=>
  string(8) "store"
  [2]=>
  string(3) "sku"
  [3]=>
  string(4) "name"
  [4]=>
  string(17) "short_description"
  [5]=>
  string(5) "store"
}

第一个存储键的长度为 8?。如何删除隐藏的字符?是否有在服务器级别进行的选项?因为在我搬到另一家托管公司之前,这个问题并没有发生。

4

2 回答 2

3

这只有在密钥中有不可见字符时才有可能。要验证它,试试这个:

var_dump(array_keys($your_array));

并查找字符串长度。

于 2013-01-29T18:34:24.873 回答
-5

所以你想删除重复的键?

为什么不在 PHP 中使用array_unique()方法。所以它看起来像这样:

$arrayWithoutDuplicates = array_unique($originalArray);
于 2013-01-29T18:33:36.507 回答