0

100個の値を持つ配列(array1)があります。8 つの値 (array2) を持つ別の配列があります。array2 から値を取得してキーとして使用し、それらのキーの array1 の値を抽出したいと考えています。

array_combine 関数は、長さが異なるため機能しません。

私が試してみました

function array_combine2($arr1, $arr2) {
    $count = min(count($arr1), count($arr2));
    return array_combine(array_slice($arr1, 0, $count), array_slice($arr2, 0, $count));
}

しかし、これは機能しません...これにより、正しいキーを持つ配列が得られますが、配列1をスライスしているため、値が正しくありません。

誰かが助けてくれませんか。これについてはすでにかなりの量の文献がありますが、それらはすべて、上記の機能していないものと非常によく似た解決策を示しています。

お時間を割いていただき、誠にありがとうございました。

4

4 に答える 4

0

以下のコードを使用できます

function array_combine2($arr1, $arr2) {
    foreach($arr2 as $val){
     $arr3[] = $arr1[$val];
     }

    return $arr3;
}

焼香には、

    $arr1['x'] = 2;
$arr1['y'] = 3;
$arr1['z'] = 4;

$arr2[0] = 'x';
$arr2[1] = 'y';
$arr2[2] = 'z';

上記の関数は以下をresbonseとして返します

$arr3[0] = 2;
$arr3[1] = 3;
$arr3[2] = 4;
于 2013-07-18T07:44:48.150 に答える