人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php5.2.17の配列に関する質問です。
補足説明にある配列1と配列2を合体して配列3を作りたいのですが、なかなか出来ずにいます。

(1)配列3の'textXX'の'XX'の部分は、配列2の'cid'に対応し一桁の場合は'0'を補完します。
(2)配列2の要素数は変動しますが、'cid'は'99'以上になることはありません。

どなたかよろしくお願いしますm(_ _)m

●質問者: appfb
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

配列1

Array (
 [survey] => 好きなお酒はどれだ?
 [comment] => ホゲホゲ
 )

配列2

Array (
 [0] => Array (
 [cid] => 1
 [cvalue] => テキーラ
 [1] => Array (
 [cid] => 2
 [cvalue] => 焼酎
 [2] => Array (
 [cid] => 3
 [cvalue] => 日本酒
 [3] => Array (
 [cid] => 14
 [cvalue] => ワイン
 [4] => Array (
 [cid] => 25
 [cvalue] => ウイスキー
 ))

配列3

Array (
 [survey] => 好きなお酒はどれだ?
 [comment] => ホゲホゲ
 [text01] => テキーラ
 [text02] => 焼酎
 [text03] => 日本酒
 [text14] => ワイン
 [text25] => ウイスキー
 )

1 ● a-kuma3
●100ポイント ベストアンサー

こういう感じでしょうか?

<?php

// 配列1
$arr1 = Array (
 'survey' => '好きなお酒はどれだ?',
 'comment' => 'ホゲホゲ'
 );

// 配列2
$arr2 = Array (
 0 => Array (
 'cid' => 1,
 'cvalue' => 'テキーラ'
 ),
 1 => Array (
 'cid' => 2,
 'cvalue' => '焼酎'
 ),
 2 => Array (
 'cid' => 3,
 'cvalue' => '日本酒'
 ),
 3 => Array (
 'cid' => 14,
 'cvalue' => 'ワイン'
 ),
 4 => Array (
 'cid' => 25,
 'cvalue' => 'ウイスキー'
 )
 );


// 配列3に、配列1を複製
$arr3 = $arr1;

// 配列2の、それぞれの要素で繰り返し
foreach ($arr2 as $i => $value) {
 // cid を添え時に整形
 $idx = sprintf('text%02d', $arr2[$i]['cid']);

 // 添え字を指定して、cvalue を値に追加
 $arr3[$idx] = $arr2[$i]['cvalue'];
}


// 確認
var_dump($arr3);

?>

ideone.com で試してみたのが、こちら。
http://ideone.com/JYEdoy


appfbさんのコメント
ご回答ありがとうございます。 今から早速やってみます!

appfbさんのコメント
いつもありがとうございますm(_ _)m あっさり希望通り動作いたしました。

appfbさんのコメント
なるほど・・・ sprintfって便利なもんがあるんですね?

a-kuma3さんのコメント
http://us2.php.net/manual/ja/function.sprintf.php 何となく手が空いたときに、マニュアルをパラパラっと(紙じゃないけど)見てみるの、お勧めです。 関数の名前は覚えてなくても、「そういえば、こんなことをする関数があったはず」っていうのを思い出せるだけで、随分違います。

appfbさんのコメント
なかなか、応用ができず難儀しています。 しかし暇を見つけるたびに読んでみます。 ご指導ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ