0

2 つの配列を取得しました。配列 A にはサッカー選手の位置が、配列 B にはサッカー選手が配置されています。すべてのプレーヤーには名前と役職があります。

ここで、配列 B を配列 A の異なる位置に分割し、配列 A の位置のように並べ替えられた 1 つの配列に並べ替えたいと考えました。

配列は次のようになります。

Array A Array ( tor, abwehr, mittelfeld, sturm )

Array B Array ( Array ( Rocky, Sturm ), Array ( Kevin, Abwehr ) )

結果配列は次のようになります。

Array ( tor, 
        abwehr(Array ( Kevin, Abwehr )), 
        mittelfeld, 
        sturm(Array ( Rocky, Sturm )) )

今までの私のコード:

$positionen = array("tor", "abwehr", "mittelfeld", "sturm");
foreach($positionen as $position) {

$team = $extern_source->api();  
foreach($team['data'] as $team) {


//need to explode this to filter relevant infos
$team_info = explode("\n",$team['info']);

$sp_name=$team_info[1];
$sp_posi=$team_info[4];
//put together the single infos in a new array
...

私の問題を理解していただければ幸いです。それは私の脳に結び目を置きました。とても複雑です:D

どうもありがとうございました!ドイツからよろしく。

4

2 に答える 2

0
foreach($arrayB as $player){
 $position[$player[1]][] = $player[0];
}
于 2013-11-02T02:07:59.513 に答える
0

まず、最初の配列の前に最終的な配列を準備しforeachます。

$data = array_fill_keys($positionen, array());

次に、namepositionをフェッチした後、次のようにします。

$data[$sp_posi][] = $sp_name;

注: array_fill_keysPHP 5.2 以降が必要です

于 2013-11-02T02:12:11.723 に答える