【问题标题】:PHP - array_unique not changing outputPHP - array_unique 不改变输出
【发布时间】:2015-10-31 14:38:22
【问题描述】:

我有一个数组 $tmp:

$a = array(0 => 49, 1 => 49, 2 => 49);

使用array_unique($tmp) 后,我得到了这个输出:

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

我想得到

Array
(
    [0] => 49
)

我做错了什么?我是 PHP 新手

【问题讨论】:

  • 显然您向我们展示的不是真正的代码,或者数组中的值有所不同。也许周围有空格或一些隐藏的符号。做一个var_dump($tmp);

标签: php arrays array-unique


【解决方案1】:

您不仅需要调用该函数,还需要使用返回值。做

$tmp=array_unique($tmp);

只调用该函数而不获取返回值是不行的。

有些函数对原始变量进行操作,因此您不需要获取它们的 ret val,例如 sort()array_unique() 不是其中之一。请始终参考http://www.php.net/functionName 了解

【讨论】:

  • 迄今为止唯一“解释”它的人 ;-)
  • 这就是问题所在!非常感谢:)
【解决方案2】:
$input = array(49,49,49);

$result = array_unique($input);

print_r($result);

【讨论】:

  • 直接回答;关心“解释”吗?供未来的读者阅读。
猜你喜欢
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多