[PHP-users 32704] Re: 連想配列
goungoun
gounx2 @ gmail.com
2007年 10月 6日 (土) 12:09:45 JST
こんにちは。
# メールしようかと思ったところ、
# [PHP-users 32703] で解決した。というのを受信しましたが、
# 書いてしまったので送ります。
# スルーしてもらってかまいません。
On Sat, 06 Oct 2007 11:39:52 +0900
Napura <napura @ sky.707.to> wrote:
> > たとえば、データベースなどからデータとして
> > $d1[1]=1,$d1[2]=6,$d1[3]=9,$d1[4]=20,$d1[5]=25,$d1[6]=32
> > $d2[1]=1,$d2[2}=2,$d2[3]=3,$d2[4]=4,$d2[5]=5,$d2[6]=6
> >
> > のようにデータを受け取ったとき
> >
> > $d1[*]の値($d1[3]の9)をキーとして、$d2[*]の値をvalueにする
> > (1->1,6->2,9->3,20->4,25->5,32->6) のように
> > 方法は、forやforeachなどをもちいて可能なのでしょうか。
私的には、以下の意味なのかな。
と思ってました。
---
<?php
$d1 = array(1=>1, 2=>6, 3=>9, 4=>20, 5=>25, 6=>32);
$d2 = array(1=>1, 2=>2, 3=>3, 4=>4, 5=>5, 6=>6);
$key_list = $d1;
$val_list = $d2;
$ans = array();
foreach (array_keys($d1) as $idx) {
$ans[$key_list[$idx]] = $val_list[$idx];
}
print_r($ans);
?>
---
Array
(
[1] => 1
[6] => 2
[9] => 3
[20] => 4
[25] => 5
[32] => 6
)
---
--
goungoun <gounx2 @ gmail.com>
http://goungoun.dip.jp/app/
PHP-users メーリングリストの案内