Facebook Twitter Google Maps RSS
Home webサイト PHP:名前のとおりコンパクト!compact関数
formats

PHP:名前のとおりコンパクト!compact関数

Published on 2013年11月6日, by in webサイト.

こんにちは

寒くなり、鍋のおいしい季節となりましたね。
鍋をつつきながら、冷酒を飲むのが、私の冬の唯一の楽しみです。

鍋は、様々な具材を引数にとりますが、
受け取る引数が多い場合、連想配列で受け取るようにしますね。
このような関数に引数を渡すとき、値をどのように渡してますか?
compact関数を使うと、いいですよ!

名前や住所などの情報を受け取り、標準出力する関数を例に見てみましょう。


 function outputData($data){
  echo(“名前:{$data[‘name’]}\n”);
  echo(“年齢:{$data[‘age’]}\n”);
  echo(“性別:{$data[‘sex’]}\n”);
  echo(“住所:{$data[‘address’]}\n”);
  echo(“電話番号:{$data[‘tel’]}\n”);
 }


上記outputData関数を実行するのに、


 $name = ‘愛円太郎’;
 $age = ’20歳’;
 $sex = ‘男’;
 $address = ‘東京都渋谷区’;
 $tel = ’03-XXXX-XXXX’;

 // データチェック処理など
 // …

 // 引数生成
 $data = array(
  ‘name’ => $name,
  ‘age’ => $age,
  ‘sex’ => $sex,
  ‘address’ => $address,
  ‘tel’ => $tel);

 // 出力
 outputData($data);


と、連想配列$dataを作る必要がありますね。
$dataを作るのに、compact関数が便利です。
compact関数は、変数名を文字列で渡すと、

array(変数名 => 変数の値)

とした連想配列を返してくれます。ですので、

$data = compact('name','age','sex','address','tel');

と一行で記述することができます。

ソースコードがすっきりしますね。
連想配列から変数を生成するextract関数もあります。

compact関数、extract関数をうまく使って、
きれいなソースコードを書いて、
おいしい鍋を食べて、
寒い冬を乗りきりましょう!

Tags:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*