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

以下のような変数の置換を関数でしたいのですが、

$menu1 = $row2[”menu1”];
$menu2 = $row2[”menu2”];
$menu3 = $row2[”menu3”];
$menu1rank = $row2[”menu1rank”];
$menu2rank = $row2[”menu2rank”];
$menu3rank = $row2[”menu3rank”];

以下の構文では
unexpected ’=’
エラーが出てしまいダメでした。色々試してみたのですが、どうにも自分では解決できません。ご指導いただけないでしょうか。

for($i = 1;$i < 4;$i++) {
$menu.$i = $row2[”menu.$i.”];
”$menu.$i.rank” = $row2[”menu.$i.rank”];
}

●質問者: Marimecco
●カテゴリ:コンピュータ 学習・教育
✍キーワード:エラー ダメ 変数 関数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● wintarsnow
●30ポイント

http://jp.php.net/manual/ja/function.extract.php

PHP: extract - Manual

要するに、配列のキーを変数名にして、値をその変数に入れるということですよね。

PHPなら、extract関数でいけると思うのですがいかがでしょう。

extract($row2);


2 ● ilovegarbage
●40ポイント

http://php.s3.to/man/function.eval.html

eval

言語は何でしょう?

PerlかPHPあたりでしたら、eval()を使うと出来ますよ。

eval(”¥$menu$i = ¥$row2¥[¥”menu”.$i.”rank¥”¥];”)

のような感じで。

要は

$menu.$i

だと$menuの文字列と$iを結合した値になってしまうので、代入できないのです。

左辺をPerl/PHP式として評価できればokということです。

◎質問者からの返答

回答ありがとうございます。

なるほど結合した値になってしまうのですね。

eval関数憶えておきたいと思います。

関連質問


●質問をもっと探す●



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