Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress如果语句不工作_Php_Html_Wordpress_If Statement - Fatal编程技术网

Php Wordpress如果语句不工作

Php Wordpress如果语句不工作,php,html,wordpress,if-statement,Php,Html,Wordpress,If Statement,我有一个IF声明,声明如下 <?php if (empty($data['footer_text'])) { echo'<p>&copy;&nbsp;'; print(Date("Y")); echo'<span class="s

我有一个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>';
                    }

                ?>

我遇到的问题是,当我这样称呼它的时候

                 <?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>

                 <?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>';
                    }

                ?>
它正确地显示了我的文本。但是当我使用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标签中时,它仍然显示出来

除非在if()中,否则不会将$data声明为全局的,这意味着$data在执行该操作时未定义

                 <?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>';
                    }

                ?>
if (empty($data[...])) {
你可能想要

                 <?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>';
                    }

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

相反。

尝试调试变量
$data['footer\u text']

                 <?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>';
                    }

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


就在IF语句之前。记住,当
empty()
返回true时。

谢谢!这就成功了一旦StackOverflow允许,我会将您的标记为已回答-/$数据未定义,我需要在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>';
                    }

                ?>