具有重复键的数组

时间:2013-01-29 18:28:39

标签: php arrays

我正在尝试从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

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

编辑:

在做了晶圆厂建议之后,我最终得到了这个:

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?。如何删除隐藏的字符?是否有在服务器级别进行的选项?因为在我搬到另一家主办公司之前,这个问题没有发生。

2 个答案:

答案 0 :(得分:3)

只有在键中有不可见的字符时才可以这样做。要验证它,请尝试:

var_dump(array_keys($your_array));

并查找字符串长度。

答案 1 :(得分:-5)

所以你想删除重复的密钥?

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

$arrayWithoutDuplicates = array_unique($originalArray);