Php 创建唯一阵列
我有一个多维数组,比如Php 创建唯一阵列,php,arrays,Php,Arrays,我有一个多维数组,比如 Array ( [0] => Array ( [id] => 1355698 [comment] => hello ) [1] => Array ( [id] => 1355699 [comment] => hey ) [2] => Array
Array
(
[0] => Array
(
[id] => 1355698
[comment] => hello
)
[1] => Array
(
[id] => 1355699
[comment] => hey
)
[2] => Array
(
[id] => 1355700
[comment] => hello
)
)
id
始终是唯一的,因此元素的唯一性将基于子数组的comment
值。在这种情况下,数组[0]
有一个重复的数组[2]
。(我想知道是否有更好的方式来表达这种解释)
array\u unique()
在这种情况下不起作用。还有别的选择吗?谢谢 创建一个id和注释为key=>value对的新数组,然后array_unique()
像:array(1344698=>“hello”,1355699,=>“hey”,1355700=>“hello”)
如果您最终使用此解决方案,您还可以方便地访问注释,而无需进行迭代。我相信这将回答您的问题:遵循Mark1inLA的答案,它将导致-该问题的公认答案应完全按照您的要求执行。来自的公认答案将使用注释作为数组键。我认为这不是解决这个问题的好办法,因为一条评论可能有数百个字符。
$uniqueArray = array();
foreach ($nonUniqueArray as $i) {
$uniqueArray[$i['comment']] = $i;
}
// optionally:
// $uniqueArray = array_values($uniqueArray);
var_dump($uniqueArray);