3

配列で foreach ループをループできるかどうかを調べようとしています。ループの結果は、次のように新しい配列のキーになるはずです。

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr = array();
foreach($names as $v){
     $arr[] = $v;
}
$arr2 = array($arr => $dates);
print_r($arr2);

それ、どうやったら出来るの?

ありがとうございます。

4

2 に答える 2

6

これを実現するためにforeachループは必要ありません。array_combineを使用するだけです:

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr2 = array_combine($names, $dates);

print_r($arr2)出力:

配列
((
    [ジョー]=>1987年6月22日
    [ピター]=>1988年5月25日
    [ジャック]=>1990年8月26日
)。

$vこの状況では、これを行う必要はありませんが、ループ内のキーとして使用する方法を知りたい場合$arr2は、ループ内で割り当てを行うことができます。

$arr2[$v] = ...;
于 2012-06-12T21:48:16.940 に答える
2

さて、これを入力した後、@ ascii-limeの答え(これははるかに優れています)を見ましたが、代わりに私は推測します...

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr = array();
$i=0;
foreach($names as $v){
    $arr[$v] = $dates[$i];
    ++$i;
}
print_r($arr);
于 2012-06-12T21:52:23.163 に答える