2016-09-23 12 views
0

私は以下の2つの配列変数を持っています。私はこのは、PHPで2つの配列をユニークなケースで組み合わせます。

triple(444 | 555) double(33) single(2 | 3)

のような結果を得ることができるように、2つの配列は、この配列パターン

$array = array(
    "triple"=>array("444","555"), 
    "double"=>array("33"), 
    "single"=>array("2","3") 
); 

することを変換する必要があり

$a = array("triple","triple","double","single","single"); 
$b = array("444","555","33","2","3"); 

誰も私を助けることができますか?おかげであなたがPHPのArray_unique ... Follow this link

を使用して、次の..

動作するはず
$arr = []; 
foreach($a as $value) { 

if ($value == 'tripple') { 
    foreach($b as $val) if(strlen($val) == 3) $arr[$value][] = $val; 
} 

if ($value == 'double') { 
    foreach($b as $val) if(strlen($val) == 2) $arr[$value][] = $val; 
} 

if ($value == 'single') { 
    foreach($b as $val) if(strlen($val) == 1) $arr[$value][] = $val; 
} 

} 

を行うことができ

答えて

1

ちょうどキーと$aとしてarray_combine$bを使用しますキーとしてグループ化した新しいコンテナに転送します。

$array = array(); 
foreach(array_combine($b, $a) as $k => $v) { 
    $array[$v][] = $k; 
} 
プレゼンテーションの目的のために

、ちょうどimplodeそれら:

foreach($array as $key => $numbers) { 
    $href = implode('|', $numbers); 
    $numbers = $key . '(' . implode(' | ', $numbers) . ')' . ' '; 
    echo "<a href='aaa.php?numbers=$href'>$numbers</a>"; 
} 
+0

私は質問したい、どうすればimplodeの '$ numbers'へのリンクを追加できますか? '$numbers' –

+0

@WilliamChandraのように、変数内に代入するだけです – Ghost

+0

@WilliamChandra既に編集中です – Ghost

0

...

+0

私は 'array_unique'を使用する方法を知っている、質問が最初の配列私はユニークな時に、私は期待通りの結果を表示する方法ですか? –

+0

上記をチェックしてください。私は自分の答えを更新しました。 – victor

関連する問題