« EmEditor で ダイレクトタグジャンプ | メイン | Go-PEARを使ったPEARのインストール »

[PHP][可変変数] 変数名や関数名を動的に指定する

連番の変数や関数名を for で処理するときなど、
動的に名前を指定したいときがある。
そのときは「可変変数」「可変関数」を使用するようだ。
以下メモメモ。。

■可変変数
PHP: 可変変数 - Manual
http://jp.php.net/manual/ja/language.variables.variable.php
変数名を動的に指定する場合は、

$a = 'hello';
$$a = 'world'; (または $hello = 'world';)

としたとき、以下のような出力。

echo "$a"; → hello
echo "${$a}"; → world
echo "$hello"; → world

変数名の一部だけを可変にする場合は、

$b = 'llo';
echo "$he{$b}"; → エラーとなる!
echo "${'he' . $b}"; → world


■可変関数
可変関数 - phpspot
関数名を動的に指定する場合は、

$a(); → hello()が呼び出される

関数名の一部だけを可変にする場合は、

"he" . $b(); → エラーとなる!
$c = "he" . $b;
$c(); → hello()が呼び出される
変数名と違い、事前に結合しておかないと使えないようだ。



おまけ ■定数かどうか判定する
constant関数使います。

PHP: constant - Manual
http://jp.php.net/manual/ja/function.constant.php

定数で無いとき、NULLを返す関数です。
↓のような感じで使えそうかなー。

//「_CONST0」~「_CONST9」まで、もし定数で存在したら出力
for($i = 0; $i < 9; $i++) {
  if(constant(constant("_CONST" . $i)) {
    echo(constant("_CONST" . $i));
  }
}
AD:

トラックバック

この一覧は、次のエントリーを参照しています: [PHP][可変変数] 変数名や関数名を動的に指定する:

» 可変変数って何? 送信元 kattsuk2 web memo
[詳しくはこちら]

今日のひと言

呑みいきたい!

PHOTO COLLECTION

【WordPress】Ktai Entryをさくらで使う【メール投稿プラグイン】 : Go-PEARを使ったPEARのインストール : PEAR2.gif EmEditor で ダイレクトタグジャンプ : emeditor.gif WindowsXP へ XAMPP をインストール : xammp.jpg 携帯サイトで文字化け : 070707.gif 動的ページを静的URLで表示させる(PATH_INFO使用) : 400-300.gif PHP4でSmarty、tplファイルしか表示されないのは参照渡しが原因でした : php4%2Bsmarty.gif Dreamwerver で Smarty : Macromedia-Dreamweaver.gif MySQLの自動バックアップ phpMyBackupPro : logo.png さくらのレンタルサーバ へ PHP5.2.2 をインストールした : php.gif ダイナミックディスク⇔ベーシックディスクにはまる・・。 : 294574802_636f6f5e8c.jpg
RSS 2.0(XML)

Add to Google
My Yahoo!に追加
ADD TO Hatena::RSS
Subscribe with livedoor Reader

(→RSS/FEEDとは?

DJ SHU a.k.a NK-SUNSHINE BLOG 最新記事