需要在数组中获取唯一值

Array

(

)

Array

(

)

Array

(

    [0] => 14

)

Array

(

    [0] => 14

)

Array

(

    [0] => 14

)

Array

(

    [0] => 14

)

Array

(

    [0] => 14

)

Array

(

    [0] => 14

    [1] => 12

)

我想要这个数组


Array

(

    [0] => 14

    [1] => 12

)

这是我的代码:


$colorarray = array();

foreach($catIds as $catid){

    $colorarray[] = $catid;

}

需要获取唯一的数组值


红颜莎娜
浏览 182回答 3
3回答

小怪兽爱吃肉

你总是可以做这样的事情:$colorarray = array();foreach($catIds as $catid){    if(!in_array($catid, $colorarray) {       $colorarray[] = $catid;    }}但这也有 n*n 复杂性,所以如果你的数组太大,它可能不是最适合你的解决方案。

幕布斯6054654

您可以使用call_user_func_array与阵列合并为扁平化的数组,然后使用数组唯一为:$res = call_user_func_array('array_merge', $arr); print_r(array_unique($res)); // will give 12 and 14现场示例3v4l或者像@Progrock 建议的那样:($output = array_unique(array_merge(...$data));我喜欢使用 的语法...)

陪伴而非守候

您可以执行以下操作来生成唯一的数组。array_unique($YOUR_ARRAY_VARIABLE, SORT_REGULAR);这样,您的数组中只有唯一值而不是重复值。更新这也是一种方法<?php&nbsp;// define array&nbsp;&nbsp;$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);&nbsp;&nbsp;// print original array&nbsp;&nbsp;echo "Original Array : \n";&nbsp;&nbsp;print_r($a);&nbsp;&nbsp;// remove duplicate values by using&nbsp;&nbsp;&nbsp;// flipping keys and values&nbsp;&nbsp;$a = array_flip($a);&nbsp;&nbsp;// restore the array elements by again&nbsp;&nbsp;&nbsp;// flipping keys and values.&nbsp;&nbsp;$a = array_flip($a);&nbsp;&nbsp;// re-order the array keys&nbsp;&nbsp;$a= array_values($a);&nbsp;&nbsp;// print updated array&nbsp;&nbsp;echo "\nUpdated Array : \n ";&nbsp;&nbsp;print_r($a);&nbsp;?>希望这会帮助你
打开App,查看更多内容
随时随地看视频慕课网APP