[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 メーリングリストの案内