【发布时间】:2016-02-23 08:32:12
【问题描述】:
我想写一些类似的东西
array_unique( $a[] = $x )
但它给了我一个通知:
array_unique() expects parameter 1 to be array, integer given.
有没有办法避免写
if ( ! in_array( $x, $a ) ) $a[] = $x;
?
【问题讨论】:
-
你到底想达到什么目的?
-
array_unique不会将元素添加到数组中,它会删除重复值。 -
不,你不能真正简化这个。如果您只想在数组中不存在新条目时添加到数组中,在某个隐藏或明显的地方,您必须进行测试。
-
我想您正在尝试在 Python 中模拟
set()之类的东西:一个在您添加数据时自动删除重复数据的集合...? -
我不太明白这一点,但如果你也使用 value 作为 key,你可以更简化它。至少对于数字/字符串值:
$a[$x] = $x;不会有任何重复值。不过,您的代码中可能会使用更多的内存而不是更少的字符......
标签: php conditional-statements simplify