0

これは不可能かもしれませんが、変数の値を使用して定義の内容を出力できるかどうか疑問に思いました。

このような:

define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo $var

これにより、コース「SEO_HOME」が印刷されます。(変数$ varを使用して)「ホーム名」を出力するにはどうすればよいですか?

編集:定義を修正しました。

編集:私のすべての問題彼、私が編集するサイトは、すべてのページを識別するために定義します。例:

define("CONTACT_PAGE","Please contact us");
define("INFO_PAGE","Some information about us");

そして、それらのページにカスタムhtmlタイトルを追加する必要があります。その所有者は、編集できるようになります。そのため、(id、page、title)を使用してDBテーブルを作成することを考えていました。ここで、pageにはCONTACT_PAGE、INFO_PAGEなどがあり、titleはタイトル自体になります。

サイト所有者の編集ページを作成するために、次のようにします。

//This would be an while mysql_fetch_assoc and not a multidimentional array, but for example this will work
$titleArray=array(array("CONTACT_PAGE", "my title for contact page"),array("INFO_PAGE", "my title for info page"));
?>
<tr>
    <td>Set title for: <?php echo $titleArray[0][0];?></td> 
    <td><input type="text" name="name" value="<?php echo $titleArray[0][1];?>" /></td>
</tr>
<tr>
    <td>Set title for: <?php echo $titleArray[1][0];?></td> 
    <td><input type="text" name="name" value="<?php echo $titleArray[1][1];?>" /></td>
</tr>

これは最初のtdに表示されます->次のタイトルを設定します:CONTACT_PAGE

そして、私はそれを表示したかった->タイトルを設定する:お問い合わせください

これが私の疑問を明らかにすることを願っています。

4

3 に答える 3

0

コードのエラーは、引用符を交換したことです。

 define(seo_home, "Home name")
        ^------------- Quotes Missing 

 $var="seo_home";
      ^---------------  There should be no quotes 

また、case_insensitiveオプションを有効にする以外は大文字と小文字が区別されるため、定数に大文字を使用して、より読みやすいコードを作成することもできます。詳細を参照してください。

例 :

define("SEO_HOME", "Home name");
$var = SEO_HOME;
echo $var;
于 2012-12-04T18:34:49.507 に答える
0

もし、するなら

$var=seo_home;

あなたがするときそれecho $var;を表示します、しかし...あなたはそれをすることができますecho seo_home;、そしてそれは表示されます、あなたは変数を必要としません。

于 2012-12-04T18:35:29.373 に答える
0

定数関数を使用できます:

 mixed constant ( string $name )

nameで示された定数の値を返します。

constant()は、定数の値を取得する必要があるが、その名前がわからない場合に役立ちます。つまり、変数に格納されるか、関数によって返されます。

この関数は、クラス定数でも機能します。

<?php
define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo constant($var);
于 2012-12-05T12:30:21.720 に答える