こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

$_POST受信で必要項目のみを結合したい

1.a.htmlに入力フォームがあります。
  フォームには、「苗字」「名前」「住所県」「住所県以下」の入力項目があります。

==========入力内容==========
苗字      :斉藤        (input type="text" name="苗字")
名前      :祐樹        (input type="text" name="名前")
住所 県   :東京都       (input type="text" name="住所県")
住所 県以下:世田谷区・・・・   (input type="text" name="住所県以下")
性別:

:(他項目多数)
==========ここまで===========

2.a.htmlから、test.phpにPOSTで内容を送信します。
 a.htmlから受け取った内容をtest.phpにて以下ソースを利用し受信した内容を表示させたいと思います。

==表示内容ソース==

//1.一度格納。
foreach( $_POST as $key => $value ) {
  $array[$key] = $value;
}

//2.格納配列表示
foreach( $array as $key => $value ) {
  echo $key . ":" . $value. "<br>";
}

==========表示内容==========
苗字      :斉藤
名前      :祐樹
住所 県   :東京都
住所 県以下:世田谷区・・・・

:(他項目多数)
==========ここまで===========


3.表示内容を以下のように変更したいと思っております。
  「苗字+名前⇒姓名」「住所県+住所県以下⇒住所」として出力したいと考えています。

==========表示内容==========
姓名:斉藤祐樹
住所:東京都世田谷区…

:(他項目多数)
==========ここまで===========


質問:
配列$array[$key]に格納時に、
・「苗字と名前のkeyに対する内容(value:斉藤と祐樹)を結合し、新しく姓名(key)」:苗字+名前(value)を$array[$key]に格納したいと思っております。(上記3のようにしたい)

また、結合に使用した、【苗字と名前】のkey、valueは不要のため破棄したいとも考えています。

考え)
 $array['姓名']=斉藤祐樹; (もとは、$array['苗字']=斉藤、$array['名前']=祐樹、結合後は不要)

同じように、「住所県+住所県以下⇒住所」も結合し、格納したいと考えております。
$_POST取り出し時のforeachにどのようなコードを記述すれば、
思い通りの結果を得ることができますでしょうか?

//取り出しforearch
foreach( $_POST as $key => $value ) {
  $array[$key] = $value;
}

ご教授よろしくお願いします。

投稿日時 - 2012-05-30 21:09:42

QNo.7505383

すぐに回答ほしいです

質問者が選んだベストアンサー

あまりスマートではありませんが、以下の方法で上記のことができると思います^^

//取り出しforearch
foreach( $_POST as $key => $value ) {
if(strcmp($key,"苗字")) {
$array["姓名"] = $value.$_POST["名前"];
}else if(strcmp($key,"住所県")) {
$array["住所"] = $value.$_POST["住所県以下"];
}else if(strcmp($key,"名前") || strcmp($key, "住所県以下")) {

}else{
   $array[$key] = $value;
}
}

試してみてくださいね~☆☆☆

投稿日時 - 2012-05-30 22:06:35

お礼

私もあれから考えて、
azuki410さんと同じようなアルゴリズムにたどり着きました。

やはり、条件にヒットしたら結合ぐらいしか思いつきませんでした…。

でも同じ意見だったのでほっとしております。
情報ありがとうございます。

投稿日時 - 2012-05-31 00:43:19

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問