2010-12-16 16 views
0

の値をマッピングする2つの配列を見つけ、要素の値をマッピングする2つの配列を見つける 配列を持っています: 私は2つのアレイこの1つの配列から、1つの配列の要素

 idxs_main=array(0,1) 
     idxs_sub=array(array(0,1), 
         array(1) 
        ) 
012のように返されます。この

function split_map_arr($A){ 
     TODO 
    } 

関数のようにTODO何かをつもりです

どうすればいいですか?

+5

は、私はあなたが求めているものを理解することはできませんし、あなたのコードは、構文エラーがいっぱいです。あなたが意図したものを理解するのは難しいので、まずそれらを修正してください。 – Palantir

+0

私は理解していない質問を再定式化することができます – RageZ

+0

@パランテル:擬似コードのように見えます – BoltClock

答えて

2

私が正しくあなたの質問を解読していた場合...

function split_map_arr($A){ 
    $idxs_main = array(); 
    $idxs_sub = array(); 
    foreach ($A as $a) { 
    list($main, $sub) = explode(';',$a); 
    if (array_key_exists($main, $idxs_main)) { 
     $idxs_sub[array_search($main, $idxs_main)][] = $sub; 
    } else { 
     $idxs_main[][] = $main; 
     $idxs_sub[][] = $sub; 
    } 
    } 
    return array($idxs_main, $idxs_sub); 
} 

// usage 
$A = array(0 => '0;0', 1 => '0;1', 2 => '1;0'); 
list($idxs_main, $idxs_sub) = split_map_arr($A); 
関連する問題