Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用不重复的键值填充数组_Php_Arrays - Fatal编程技术网

Php 用不重复的键值填充数组

Php 用不重复的键值填充数组,php,arrays,Php,Arrays,我面临着这个问题,也许这是愚蠢的。。。但我们要做的是: 我有一个固定的房间: foreach $values as $values => $key { $test[] = $key; } 当然,测试是在循环之外定义的 现在,返回如下内容: array(6) { [0]=> int(10) [1]=> int(16) [2]=> int(10) [3]=> int(16) [4]=> int(10) [5]=> int(16)

我面临着这个问题,也许这是愚蠢的。。。但我们要做的是:

我有一个固定的房间:

 foreach $values as $values => $key {
   $test[] = $key;
 }
当然,测试是在循环之外定义的

现在,返回如下内容:

 array(6) {
 [0]=> int(10)
 [1]=> int(16)
 [2]=> int(10)
 [3]=> int(16)
 [4]=> int(10)
 [5]=> int(16)
 [6]=> int(10)
 }
 array(2) {
 [0]=> int(10)
 [1]=> int(16)
 }
但是,我需要忽略重复的值,因此测试如下:

 array(6) {
 [0]=> int(10)
 [1]=> int(16)
 [2]=> int(10)
 [3]=> int(16)
 [4]=> int(10)
 [5]=> int(16)
 [6]=> int(10)
 }
 array(2) {
 [0]=> int(10)
 [1]=> int(16)
 }
只有当且仅当不重复时,才会添加新值。我已经尝试了array_unique和array_值,但是如果我实现的不好或者有什么问题,我不会使用它们

任何帮助都将不胜感激


致以最诚挚的问候。

为什么不使用
array\u unique()

以这一点为例:

$values = array_unique($values);
或者,如果您不想使用
array\u unique()
,可以用另一种方法:

foreach ($values as $index => $element) {
    if(!in_array($element, $values)) {
        $test[] = $element;
    } 
}

为什么不使用
数组_unique()

以这一点为例:

$values = array_unique($values);
或者,如果您不想使用
array\u unique()
,可以用另一种方法:

foreach ($values as $index => $element) {
    if(!in_array($element, $values)) {
        $test[] = $element;
    } 
}

使用array_unique分配数组如何:


使用array_unique分配数组如何:

这是您的阵列

$test = array(6) {
 [0]=> int(10)
 [1]=> int(16)
 [2]=> int(10)
 [3]=> int(16)
 [4]=> int(10)
 [5]=> int(16)
 [6]=> int(10)
 }
您可以使用
array\u unique($test)
来删除重复的值。

这里是您的数组

$test = array(6) {
 [0]=> int(10)
 [1]=> int(16)
 [2]=> int(10)
 [3]=> int(16)
 [4]=> int(10)
 [5]=> int(16)
 [6]=> int(10)
 }

您可以使用
array\u unique($test)
,它将删除重复的值。

如果
array\u unique
对您不起作用,您可以使用:

<?php
foreach( $values as $values => $key ){
   if( !in_array($key, $test) )
      $test[] = $key;
}
?>

如果
array\u unique
不适合您,您可以使用:

<?php
foreach( $values as $values => $key ){
   if( !in_array($key, $test) )
      $test[] = $key;
}
?>

如果您只想添加不存在的值,请使用


如果您只想在该值不存在时添加该值,请使用


我不清楚您想要什么使用
array\u unique
时出现了什么问题?另请参见数组中的
。由于某些原因,当循环
$values
成为数组中的最后一个元素后,在循环中覆盖
$values
时,它将变为null,不是数组本身。是我还是
foreach$values as$values=>$key
是有史以来最糟糕的变量名?我不清楚您想要什么使用
array\u unique
时出现了什么错误?另请参见数组中的
。由于某些原因,当循环
$values
成为数组中的最后一个元素后,在循环中覆盖
$values
时,它将变为null,不是数组本身。是我还是
foreach$values as$values=>$key
是有史以来最糟糕的变量名?是的,但出于某种原因,它在键值上返回null是的,但出于某种原因,它在键值上返回null这起作用了,非常感谢,它成功了,我知道这很愚蠢,我将array_unique应用到foreach中的$w中。现在这起作用了,非常感谢,它成功了,我知道这有点傻,我将array_unique应用到foreach中的$w中。你能添加一些解释,或者举个例子吗?就目前而言,这个答案太短了。你能补充一些解释,或者举个例子吗?就目前而言,这个答案太短了。