PHP循环只有不同的数组

时间:2010-05-21 01:32:02

标签: php

我有一个包含几个相同值的数组。我只想循环遍历不同的值。我怎么能这样做?

实施例

166-01 001;09;UO;
166-01 001;09;UO;
166-01 001;09;UO;
166-01 001;09;UO;
166-01 001;09;UO;
166-01 001;09;UO;
166-01 001;09;UO;_86
166-01 001;09;UO;_86
166-01 001;09;UO;_86
166-01 001;09;UO;_86
166-01 001;09;UO;_86
166-01 001;09;UO;_86_97
166-01 001;09;UO;_86_97
166-01 001;09;UO;_86_97
166-01 001;09;UO;_86_97_108
166-01 001;09;UO;_86_97_108
166-01 001;09;UO;_86_97_108_119
166-01 001;09;UO;_86_97_108_119

我在一个数组中有这个,但我只想循环不同的数组。所以它会循环一次,然后一次为_86,然后一次为_86_97,然后一次为_86_97_108,然后为_86-97_108_119。因此只能循环使用不同的键值,

还是有办法计算不同键的数量?

3 个答案:

答案 0 :(得分:3)

array_unique()

foreach(array_unique($array) as $key => $value)

答案 1 :(得分:0)

我认为您正在寻找array_unique(),可能与array_keys()一起使用。

答案 2 :(得分:0)

跟踪你已经过的那些:


$passed = array();

foreach ($array as $value) {
  if (!in_array($value, $passed)) {
    $passed[] = $value;
  }
}

print_r($passed);

或者更容易:

$array = array_unique($array);