スレッド表示 | フラット表示〕 全トピック 920 件中 637 番目 次≫ ≪前

ヒアドキュメント内で配列のキーを配列で指定

created: 2004-04-08 19:59 | modified: 2004-04-09 13:27 | reply: 4

[1495] ヒアドキュメント内で配列のキーを配列で指定

user: さみんぐ | created: 2004-04-08 19:59
こんばんは、以前ファイルを添付したメールの送信方法について、お世話になったものです。

さっそく質問なのですが、配列のキーを配列で指定する場合は
$array = array('A','B','C');
$key = array(0,1,2);

print "文字列".$array[$key[1]]."文字列";
とすることで、値を参照することができますが、これがヒアドキュメント内の場合
$array = array('A','B','C');
$key = array(0,1,2);

print <<<EOM
文字列 $array[$key[1]] 文字列
EOM;
とすると、エラーになります。
ためしに、
$array = array('A','B','C');
$key = array(0,1,2);

print <<<EOM
文字列 ${array[$key[1]]} 文字列
EOM;
とすると、正常に値を参照できたり、エラーになったり、配列によって結果が異なったりします。
ヒアドキュメント内で配列のキーを配列でしていして、値を参照するにはどうすればよいのでしょうか?
reply: 1496 返信 編集 削除

[1496] 大括弧

user: ゆうじ | created: 2004-04-08 20:59
どうもこんばんは。

こんなのはいかがでしょう。
大括弧の中が先に展開されるので
求める結果になると思います。

print <<<EOM
文字列 {$array[$key[1]]} 文字列
EOM;
Parent: 1495  reply: 1498 返信 編集 削除

[1498] やはりエラー

user: さみんぐ | created: 2004-04-08 22:10
さっそくのご返信ありがとうございます。

しかしならが、やはりエラーが出てしまいます。
ただ、不思議なことに、ご教授いただいた大括弧を用いて、テストを行うとエラーもなく、成功したのですが、別のスクリプトにて全く同じ方法を用いるとエラーがでてしまいます。
原因はわかりませんが、とりあえず該当部分のプログラムは以下のとおりです。
print <<<EOM
...
<tr bgcolor="$col3">
<th>${option1[$_GET[class]]}</th>
<th>${option2[$_GET[class]]}</th>
<th>文字列</th>
<th>文字列</th>
</tr>
..
EOM;
これを実行しますと、
Parse error: parse error, unexpected T_CLASS, expecting ']' in c:\fileName.php on line 192
というエラーが出てしまいます。
Parent: 1496  reply: 1500 返信 編集 削除

[1500] 可変変数ですか?

user: ゆうじ | created: 2004-04-09 00:30
あれ?
"$"記号を、大括弧の中に入れるのと外に出すのとでは、
意味がまったく違ってきますが、
これって可変変数でなければならないのでしょうか。

以下のように
大括弧の中に変数を記述しただけではダメですか。

print <<<EOM
...
<tr bgcolor="$col3">
<th>{$option1[$_GET[class]]}</th>
<th>{$option2[$_GET[class]]}</th>
<th>文字列</th>
<th>文字列</th>
</tr>
..
EOM;
Parent: 1498  reply: 1502 返信 編集 削除

[1502] 記入ミスでした。

user: さみんぐ | created: 2004-04-09 13:27
大変申し訳ありません。
当方の記入ミスでした。
No.1498の記事のコードは正しくは
print <<<EOM
...
<tr bgcolor="$col3">
<th>{$option1[$_GET[class]]}</th>
<th>{$option2[$_GET[class]]}</th>
</tr>
...
EOM;
でした。
この記述でもエラーが出てしまいます。
Parent: 1500  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 637 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑