从数组中查找唯一值

我有一个多维数组,我需要查找数组是否具有相同的 'brand' 属性值,然后返回其 id。


我尝试通过一些数组函数,但没有奏效。

我试过的:


1)


$backwards = array_reverse($attribute);

            echo '<pre>';

            $last_item = NULL;

            $i = 0;

            foreach ($backwards as $current_item) {

                if ($last_item === $current_item[$i]['value']) {

                    echo '<pre>'; print_r($current_item[$i]['value']);

                }

                $last_item = $current_item[$i]['value'];

                echo '<pre>'; print_r($last_item);

                $i++;

            }

2)


$j = 1;

            $i = 0;

            foreach ($attributeValues as $attributeData) {

                foreach ($attribute as $value) {

                    if($value[$i]['value'] == $value[$j]['value']) {

                        echo '<pre>'; print_r($value); die(); 

                    }

                    $j++;

                }

            }

我所有的解决方案都不起作用,请帮忙。


[0] => Array

    (

        [0] => Array

            (

                [name] => brand

                [value] => 54

                [id] => 5251

                [price] => 15000.0000

            )


        [1] => Array

            (

                [name] => model

                [value] => 1200

                [id] => 5251

                [price] => 15000.0000

            )


    )


[1] => Array

    (

        [0] => Array

            (

                [name] => brand

                [value] => 54

                [id] => 5250

                [price] => 15000.0000

            )


        [1] => Array

            (

                [name] => model

                [value] => 1200

                [id] => 5250

                [price] => 12000.0000

            )


    )

[2] => Array

    (

        [0] => Array

            (

                [name] => brand

                [value] => 89

                [id] => 518

                [price] => 100.0000

            )


如果第一个数组的[name]=>brand和[name]=>model值与第二个数组的值相同,则返回[id]。


catspeake
浏览 154回答 2
2回答

波斯汪

您可以使用foreach并遍历数组$res = [];foreach($arr as $k => $v){&nbsp; if($v[0]['name'] == $v[1]['name'])&nbsp; &nbsp; $res[$v[0]['name']] = $v[0]['id'];}如果你想匹配索引value试试这个foreach($arr as $k => $v){&nbsp; if($v[0]['value'] == $v[1]['value'])&nbsp; &nbsp; $res[] = $v[0]['id'];}
打开App,查看更多内容
随时随地看视频慕课网APP