php Array數群組轉換問題

來源:互聯網
上載者:User
如何把
Array(    [strwarenum] => Array        (            [0] => 1            [1] => 1        )    [strwareid] => Array        (            [0] => 80            [1] => 79        ))


轉換為

Array(    [config_id] =>     [strwareid] => ,78,80    [strwarenum] => ,1,1    [config_name] =>     [config_desc] =>     [diycat_id] => )

並可以單獨調用呢


回複討論(解決方案)

設你原來的數組為$a,建一個你需要包含所有key的空數組$b(你的例子有些key在$a中沒有,所以要另建)
不知道你的 78這個值從何而來,暫時當你是把79打錯了
我懶得寫賦值部分了,還要改你的代碼,麻煩,自己寫吧

foreach($b as $k => $v){    $a[$k][]='';    $v=array_reverse($a[$k]);}var_export($b);

自己測試

非常抱歉,實在不會把

Array(    [strwarenum] => Array        (            [80] => 1            [78] => 1        )    [strwareid] => Array        (            [0] => 80            [1] => 78        )    [config_id] =>     [config_name] =>     [config_desc] =>     [diycat_id] => )

變為
Array(    [config_id] =>     [strwareid] => ,78,80    [strwarenum] => ,1,1    [config_name] =>     [config_desc] =>     [diycat_id] => )

$arr=你的數組;foreach($arr as &$v){     if(is_array($v)) $v=','.join(',',$v);}print_r($arr);

PHP code?12345$arr=你的數組;foreach($arr as &$v){ if(is_array($v)) $v=','.join(',',$v);}print_r($arr);


非常感謝,解決了

$ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79));function change($ar){$arr=array();foreach($ar as $key=>$value){if($key=="strwareid"){for($i=count($ar[$key])-1;$i>=0;$i--){$s=$s.",".$ar[$key][$i];}}if($key=="strwarenum"){for($i=count($ar[$key])-1;$i>=0;$i--){$m=$m.",".$ar[$key][$i];}}}$arr['config_id']='';$arr['strwareid']=$s;$arr['strwarenum']=$m;$arr['config_name']='';$arr['config_desc']='';$arr['diycat_id']='';return $arr;}echo "
";print_r(change($ar));echo "
";Array( [config_id] => [strwareid] => ,79,80 [strwarenum] => ,1,1 [config_name] => [config_desc] => [diycat_id] => )

呃,還有連帶關係?strwarenum的key和strwareid的值對應嗎?給兩個不同的strwarenum的值看看結果是怎樣

另外,你給的資料能不能寫成定義形式啊 "strwarenum" => Array...,還要我逐個去改啊?!

居然結貼了……如果有對應關係,上面的各樓包括我寫的那個都不能用

PHP code?123456789101112131415161718192021222324252627282930313233343536 $ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79)); function change($ar){ $arr=array(……
其實strwarenum 是數量可以不考慮。對應每個strwareid為1也可以
strwareid是主要要獲得的函數

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.