-2
<?php
    $arr1=array("jol","pop","hari","john");//the array count is not limited to 4
    $arr2=array('germany','america','holland','america');
    ?>

今リンクしたい

Name: jol(1),pop(2),hari(3),john(2)

Address:germany(1),america(2),holland(3)

両方が同じ国のものであるためpop(2) 、名前を取得しますjohn(2)

4

1 に答える 1

1

2つの配列に常に同じ数のエントリがあると仮定すると、次のようなコードでこれを行うことができます。

for($i=0; $i<count(@arr2); $i++) {
    if(!isset($country[$arr2[$i]])) {
        $country[$arr2[$i]] = $i;
    }
    $link[$arr1[$i]] = $country[$arr2[$i]];
}

ループの最初の部分には、各国の最初の一致のインデックスが格納されます。2番目の部分は、各名前に対応するインデックスを検索します。

当然、ユーザーの国が見つからない場合(たとえば、配列内の要素の数が一致しない場合)のエラーチェックを追加する必要があります。

于 2012-11-02T09:54:12.683 に答える