我有一份IF声明陈述以下内容......
<?php
if (empty($data['footer_text'])) {
echo'<p>© ';
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语句时,它总是默认显示网站名称,即使我知道它正确显示文本。
我的语法搞砸了吗?我无法弄清楚为什么它认为什么都不存在但是当我在p标签中显示时仍然会出现。
答案 0 :(得分:1)
除非您在if()中,否则您不会将$ data声明为全局数据,这意味着$ data在您执行
时未定义if (empty($data[...])) {
你可能想要
global $data;
if (empty($data[...])) {
代替。
答案 1 :(得分:0)
尝试调试变量$data['footer_text']
:
<?php var_dump($data['footer_text']); ?>
在IF声明之前。请记住,当empty()
返回true时。