0

次のようなIFステートメントがあります...

                 <?php

                    if (empty($data['footer_text'])) {

                        echo'<p>&copy;&nbsp;';
                            print(Date("Y"));
                        echo'<span class="sep"> | </span><a href="';
                            echo get_settings('home');
                        echo'" title="';
                            bloginfo( 'name' );
                        echo'" rel="home">';
                            bloginfo( 'name' );
                        echo'</a></p>';
                    }

                    else{
                        echo'<p>';
                            global $data; 
                        echo $data['footer_text']; 
                        echo'</p>';
                    }

                ?>

私が直面している問題は、このように呼び出すときです。

       <p><?php global $data; echo $data['footer_text']; ?>;</p>

テキストが正しく表示されます。しかし、IFステートメントを使用すると、テキストが正しく表示されていることがわかっている場合でも、サイト名が常にデフォルトで表示されます。

私の構文はめちゃくちゃですか?何もないと思われる理由がわかりませんが、ap タグに表示すると表示されます。

4

2 に答える 2

1

if() の内部に入るまで $data をグローバルであると宣言しないでください。つまり、実行している時点で $data は未定義です。

if (empty($data[...])) {

あなたはおそらく欲しい

global $data;
if (empty($data[...])) {

代わりは。

于 2013-03-12T21:15:45.470 に答える
0

変数のデバッグを試みます$data['footer_text']:

<?php var_dump($data['footer_text']); ?>

IF文の直前。empty()whenが true を返すことを思い出してください。

于 2013-03-12T21:17:26.353 に答える