2012-02-14 6 views
0
Array 
(
    [0] => 46-sen1-Grid1-138 
    [1] => 47-sen2-Grid1-138 
    [2] => 50-sen5-Grid2-144 
    [3] => 51-sen6-Grid2-144 
) 

上記の配列を次のようにするにはどうすればよいですか?アレイを別のフォーマットに変更する

Array 
(
    [138] => Array 
     (
      [0] => 46-sen1 
      [1] => 47-sen2 
     ) 

    [144] => Array 
     (
      [0] => 50-sen5 
      [1] => 51-sen6 
     ) 

) 
+3

何を試しましたか?要素を反復し、関連する情報を抽出する必要があります。 –

答えて

1
$from = array(
    '46-sen1-Grid1-138' 
    '47-sen2-Grid1-138', 
    '50-sen5-Grid2-144', 
    '51-sen6-Grid2-144' 
); 

$to = array(); 

foreach($from as $value) { 
    $elements = explode('-',$value); 
    if (!isset($to[$elements[3]])) $to[$elements[3]] = array(); 
    $to[$elements[3]][] = $elements[0].'-'.$elements[1]; 
} 
0

ループそれを介して、それを解析し、新しいものを生成します。

$arr = array("46-sen1-Grid1-138", 
    "47-sen2-Grid1-138", 
    "50-sen5-Grid2-144", 
    "51-sen6-Grid2-144"); 

foreach ($arr as $item) { 
    $arr_n[substr($item,-3)][] = substr($item,0,7); 
} 

var_dump($arr_n); 
0

あなたは、次のコードを使用することができますし、私はちょうど基本的な構造

$a[0] =' 46-sen1-Grid1-138'; 
    $a[1] = '47-sen2-Grid1-138'; 
    $a[2] = '50-sen5-Grid2-144'; 
    $a[3] = '51-sen6-Grid2-144'; 

    $KeyArray=array(); 
    foreach($a as $row) 
    { 
    $check=explode('-',$row); 
    print_r($check); 

    $KeyArray[$check[3]][] = $check[0].'-'.$check[1]; 

    } 

    print_r($KeyArray); 
に書かれている配列のキーと値のチェックを適用する実行してください。

ここでこれを行う方法の簡単な例です。

関連する問題