为了账号安全,请及时绑定邮箱和手机立即绑定

从数组中查找唯一值

从数组中查找唯一值

PHP
catspeake 2021-08-28 18:22:13
我有一个多维数组,我需要查找数组是否具有相同的 '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]。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

您可以使用foreach并遍历数组


$res = [];

foreach($arr as $k => $v){

  if($v[0]['name'] == $v[1]['name'])

    $res[$v[0]['name']] = $v[0]['id'];

}

如果你想匹配索引value试试这个


foreach($arr as $k => $v){

  if($v[0]['value'] == $v[1]['value'])

    $res[] = $v[0]['id'];

}


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号