Php 从foreach循环中删除重复项

Php 从foreach循环中删除重复项,php,foreach,Php,Foreach,我试图循环一个自定义的post类型,并显示一个元键的所有元值 我能够显示所有的值,但是有一些重复。我想删除那些重复的 我尝试过使用array\u unique,但运气不佳 我的代码: <?php query_posts(array( 'post_type' => 'lejlighed' )); ?> <?php while (have_posts()): the_post(); $meta = get_post_meta($post

我试图循环一个自定义的post类型,并显示一个元键的所有元值

我能够显示所有的值,但是有一些重复。我想删除那些重复的

我尝试过使用
array\u unique
,但运气不佳

我的代码:

<?php
query_posts(array(
'post_type' => 'lejlighed'

 ));
 ?>
               <?php
while (have_posts()):
the_post();


$meta = get_post_meta($post->ID, 'antal_varelser');

foreach ($meta as $m) {

    echo '<option value="1">' . $m . '</option>';

}
endwhile;
?> 
什么也不输出

print\r($meta)
返回:

Array ( [0] => 2 ) Array ( [0] => 12 ) Array ( [0] => 4 ) Array ( [0] => 2 ) Array ( [0] => 5 ) Array ( [0] => 2 ) Array ( [0] => 4 ) Array ( [0] => 4 ) Array ( [0] => 3 ) Array ( [0] => 3 ) 

有什么建议吗?

您可以尝试使用一个循环并首先用以下内容填充另一个数组:

bool in_array ( $needle , array $haystack)
然后,新数组中应该只有唯一的值,可以用于ur循环


编辑:

对我来说,有两种方法是有效的

我们假设该数组为:

$org = array('1', '2', '2', '3', '3', '4', '5', '6');
简单数组\u唯一:

使用in_数组对循环中的数组进行排序:

//使用in_数组()进行排序
对于($i=0;$i

您可以尝试使用一个循环并首先用以下内容填充另一个数组:

bool in_array ( $needle , array $haystack)
然后,新数组中应该只有唯一的值,可以用于ur循环


编辑:

对我来说,有两种方法是有效的

我们假设该数组为:

$org = array('1', '2', '2', '3', '3', '4', '5', '6');
简单数组\u唯一:

使用in_数组对循环中的数组进行排序:

//使用in_数组()进行排序
对于($i=0;$i

您可以尝试使用一个循环并首先用以下内容填充另一个数组:

bool in_array ( $needle , array $haystack)
然后,新数组中应该只有唯一的值,可以用于ur循环


编辑:

对我来说,有两种方法是有效的

我们假设该数组为:

$org = array('1', '2', '2', '3', '3', '4', '5', '6');
简单数组\u唯一:

使用in_数组对循环中的数组进行排序:

//使用in_数组()进行排序
对于($i=0;$i

您可以尝试使用一个循环并首先用以下内容填充另一个数组:

bool in_array ( $needle , array $haystack)
然后,新数组中应该只有唯一的值,可以用于ur循环


编辑:

对我来说,有两种方法是有效的

我们假设该数组为:

$org = array('1', '2', '2', '3', '3', '4', '5', '6');
简单数组\u唯一:

使用in_数组对循环中的数组进行排序:

//使用in_数组()进行排序
对于($i=0;$i

array\u unique
应该可以工作

$result = array_unique($meta);
foreach ($result as $m) {
  echo '<option value="1">' . $m[0] . '</option>';
}
$result=array\u unique($meta);
foreach(结果为$m){
回显“.$m[0]”;
}
如果没有,那么

$temp = array();
foreach ($meta as $m) {
  if (!in_array($m[0], $temp)) {
    echo '<option value="1">' . $m[0] . '</option>';
    $temp[] = $m[0];
  }
}
$temp=array();
foreach(元为百万美元){
如果(!in_数组($m[0],$temp)){
回显“.$m[0]”;
$temp[]=$m[0];
}
}

阵列_unique
应该可以工作

$result = array_unique($meta);
foreach ($result as $m) {
  echo '<option value="1">' . $m[0] . '</option>';
}
$result=array\u unique($meta);
foreach(结果为$m){
回显“.$m[0]”;
}
如果没有,那么

$temp = array();
foreach ($meta as $m) {
  if (!in_array($m[0], $temp)) {
    echo '<option value="1">' . $m[0] . '</option>';
    $temp[] = $m[0];
  }
}
$temp=array();
foreach(元为百万美元){
如果(!in_数组($m[0],$temp)){
回显“.$m[0]”;
$temp[]=$m[0];
}
}

阵列_unique
应该可以工作

$result = array_unique($meta);
foreach ($result as $m) {
  echo '<option value="1">' . $m[0] . '</option>';
}
$result=array\u unique($meta);
foreach(结果为$m){
回显“.$m[0]”;
}
如果没有,那么

$temp = array();
foreach ($meta as $m) {
  if (!in_array($m[0], $temp)) {
    echo '<option value="1">' . $m[0] . '</option>';
    $temp[] = $m[0];
  }
}
$temp=array();
foreach(元为百万美元){
如果(!in_数组($m[0],$temp)){
回显“.$m[0]”;
$temp[]=$m[0];
}
}

阵列_unique
应该可以工作

$result = array_unique($meta);
foreach ($result as $m) {
  echo '<option value="1">' . $m[0] . '</option>';
}
$result=array\u unique($meta);
foreach(结果为$m){
回显“.$m[0]”;
}
如果没有,那么

$temp = array();
foreach ($meta as $m) {
  if (!in_array($m[0], $temp)) {
    echo '<option value="1">' . $m[0] . '</option>';
    $temp[] = $m[0];
  }
}
$temp=array();
foreach(元为百万美元){
如果(!in_数组($m[0],$temp)){
回显“.$m[0]”;
$temp[]=$m[0];
}
}

阵列\u unique似乎可以工作

<?php
$a = array (
    '1', '2', '2', '3', '4', '5', '4'
);
echo "<pre>initial array\n";
print_r($a);
echo "\n";

$result = array_unique($a);

echo "array_unique\n";
print_r($result);
echo "\n</pre>";
?>
你能提供更多的细节吗?那可能会帮助我们帮助你

编辑: 看到
print\r
的输出后,此解决方案应适用于您:

initial multi-dimensional array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [4] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

    [6] => Array
        (
            [0] => 2
        )

)

removed duplicates in multi-dimension array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

)

取自HTH

数组\u unique似乎有效

<?php
$a = array (
    '1', '2', '2', '3', '4', '5', '4'
);
echo "<pre>initial array\n";
print_r($a);
echo "\n";

$result = array_unique($a);

echo "array_unique\n";
print_r($result);
echo "\n</pre>";
?>
你能提供更多的细节吗?那可能会帮助我们帮助你

编辑: 看到
print\r
的输出后,此解决方案应适用于您:

initial multi-dimensional array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [4] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

    [6] => Array
        (
            [0] => 2
        )

)

removed duplicates in multi-dimension array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

)

取自HTH

数组\u unique似乎有效

<?php
$a = array (
    '1', '2', '2', '3', '4', '5', '4'
);
echo "<pre>initial array\n";
print_r($a);
echo "\n";

$result = array_unique($a);

echo "array_unique\n";
print_r($result);
echo "\n</pre>";
?>
你能提供更多的细节吗?那可能会帮助我们帮助你

编辑: 看到
print\r
的输出后,此解决方案应适用于您:

initial multi-dimensional array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [4] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

    [6] => Array
        (
            [0] => 2
        )

)

removed duplicates in multi-dimension array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

)

取自HTH

数组\u unique似乎有效

<?php
$a = array (
    '1', '2', '2', '3', '4', '5', '4'
);
echo "<pre>initial array\n";
print_r($a);
echo "\n";

$result = array_unique($a);

echo "array_unique\n";
print_r($result);
echo "\n</pre>";
?>
你能提供更多的细节吗?那可能会帮助我们帮助你

编辑: 看到
print\r
的输出后,此解决方案应适用于您:

initial multi-dimensional array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [4] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

    [6] => Array
        (
            [0] => 2
        )

)

removed duplicates in multi-dimension array
Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 2
        )

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 5
        )

)

摘自HTH

您是如何使用
array\u unique
编码的?您是否尝试使用_数组中的
仅添加不存在的项?通过查看此代码,我认为您正在查询并具有重复项。也许你的疑问是错的?似乎你的解决方案查询应该是正确的,因为我需要我所有帖子的值。其中一些是重复的-我需要去掉它们。你用
array\u unique
编码的是什么?您是否尝试使用_数组中的
仅添加不存在的项?通过查看此代码,我认为您正在查询并具有重复项。也许你的疑问是错的?似乎你的解决方案查询应该是正确的,因为我需要我所有帖子的值。其中一些是重复的-我需要去掉它们。你用
array\u unique
编码的是什么?您是否尝试使用_数组中的
仅添加不存在的项?通过查看此代码,我认为您正在查询并具有重复项。也许你的疑问是错的?似乎你的解决方案查询应该是正确的,因为我需要我所有帖子的值。其中有些是重复的-