求一個數組演算法

來源:互聯網
上載者:User
根據 “數組1” 和 “數組2”,得到 “數組3”這樣的結果,而且最好能高效點
數組2是設定好的一些屬性;數組1是商品可能只填寫了某個或某幾個屬性

//數組1Array(    [100008] => Array        (            [5] => Array                (                    [name] => 價格                    [0] => 不限                )            [6] => Array                (                    [name] => 折扣                    [0] => 不限                )        )    [100009] => Array        (            [5] => Array                (                    [name] => 價格                    [8] => 0-29                )            [6] => Array                (                    [name] => 折扣                    [13] => 3-5折                )   [7] => Array                (                    [name] => 出版社                    [20] => 北京大學出版社                )        ))//數組2Array(    [0] => Array        (            [attr_id] => 5            [attr_name] => 價格            [attr_value] => 0-29,30-49,50-99,100以上        )    [1] => Array        (            [attr_id] => 6            [attr_name] => 折扣            [attr_value] => 0-3折,3-5折,5-7折,7-10折        )    [2] => Array        (            [attr_id] => 7            [attr_name] => 出版社            [attr_value] =>        ))//得到結果:數組3Array(    [100008] => Array        (            [價格] => 不限            [折扣] => 不限            [出版社] =>         )    [100009] => Array        (            [價格] => 0-29            [折扣] => 3-5折            [出版社] => 北京大學出版社        ))



回複討論(解決方案)

$a = array (  100008 => array (    5 => array (      'name' => '價格',      0 => '不限',    ),    6 => array (      'name' => '折扣',      0 => '不限',    ),  ),  100009 => array (    5 => array (      'name' => '價格',      8 => '0-29',    ),    6 => array (      'name' => '折扣',      13 => '3-5折',    ),    7 => array (      'name' => '出版社',      20 => '北京大學出版社',    ),  ),);$b = array (  0 => array (    'attr_id' => '5',    'attr_name' => '價格',    'attr_value' => '0-29,30-49,50-99,100以上',  ),  1 => array (    'attr_id' => '6',    'attr_name' => '折扣',    'attr_value' => '0-3折,3-5折,5-7折,7-10折',  ),  2 => array (    'attr_id' => '7',    'attr_name' => '出版社',    'attr_value' => '',  ),);foreach($a as $key=>$item) {  $t = array();  foreach($b as $v) {    $k = $v['attr_id'];    $t[$v['attr_name']] = isset($item[$k]) ? end($item[$k]) : $v['attr_value'];  }  $c[$key] = $t;}print_r($c);
Array(    [100008] => Array        (            [價格] => 不限            [折扣] => 不限            [出版社] =>         )    [100009] => Array        (            [價格] => 0-29            [折扣] => 3-5折            [出版社] => 北京大學出版社        ))

版主,牛....

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.