[PHP-users 32706] Re: Napuraと申します。

kanonbell kanonbell.sky @ gmail.com
2007年 10月 6日 (土) 13:45:44 JST


こんにちは。

for文なら。

$temp = $d2;
for($i = 0 ; $i < count($d1) ; $i++)
{
 $d2[$d1[$i]] = $temp[$i];
}

foreachなら。

$temp = $d2;
$i = 0;
foreach($d1 as $key => $value)
{
 $d2[$key] = $temp[++$i];
}

こんな感じかな?
ちょっと最近PHP触ってないので間違ってたらごめんなさい。
お望みの結果そのものはキーと値が逆転してるだけなので、
そのものの関数があった気もしますけれど。
別の配列の値をキーにする関数とかもあったかなあ。
例は単に例なんでしょうけど、配列で思うことあった場合は
公式マニュアル見とくともっといいやり方が見つかるかも。

連想配列は文字列をキーにできるのが利点だと思うので、
飛び飛びの数値をキーにするのはお勧めしないです。
countとかで変なことになんなかったかな。(気のせいかも)

データベースのフィールド名をキーにするとかよくやりますね。
HTMLに流し込むのが楽になるし、ソースの可読性も
ちょっと上がります。


PHP-users メーリングリストの案内