php函数调用问题,或者是wordpress使用php函数调用问题,求解决

请问这个php函数为什么要这样写,下面还要单独一个php封装一个“}”,单独写到else后面就会显示函数调用失败,这样写是什么目的求指教。
还有的地方上面的函数明明已经结束了,底下是新的php函数,而php函数开头还要加上“}”,如果去掉,或者写到上一个函数的结尾就会出错,例如
</div>
</form>
<?php
}
}
add_action('admin_menu', array('Options', 'add'));
……
请问这个是什么语法

由此可见你对php不了解,首先不是非要加{或者},因为if else使用的语法如此,单独把它摘出来的话是if(条件){条件成立则执行}else{条件不成立执行},如果你本身对php不熟悉,一定对于混编更迷茫,建议你想要研究源码的话,先了解了解php追问

我还是了解一些编程的,if else判断还是了解一些。对php是不是很了解,我只是想用wp仿一个站,仅需要学习一下用到的php就够了。我在这里就是不明白为什么要单独用php来封装一个“}”,而不是直接写出来,为什么封装了就可以成功,单独写的话就调用不到函数

追答

这么跟你说吧,php不同于html,所有有效的输出是靠echo,没有echo,你在页面上什么都输出不出来,当然你可以使用

echo"";
}else{
echo "#nav ul.sub-menu{display:none;}";
}?>
不同语言不同用法,如果没学过php,不要擅自改动php文件

追问

我貌似明白你的意思了,php里面的if判断里面我是要输出html的,而这个输出我如果用echo的话,我就可以不中断这个php,可以用一个把所有语句封装了,如果我不用echo输出的话,就要暂时先把php给结束,然后输出想要输出的内容,然后在后面不需要输出内容的地方在用php 把判断缺失的地方补齐,就是“}”

追答

额,这么跟你说吧,这个文件之所以采用混编是因为你调用的js和css中使用了,而标签是不允许嵌套的,也就是说 ?>是不正确的写法,当然假设你的语句中没有,你当然可以使用格式,但是如果if或者else语句中有调用的动态值的话应该分开写 ,所谓的{}是if语句必备的,根据你的调用情况,在适当的位置写出适当的标签

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-22
<? }else{ ?>
这里可能会出现语法错误,原因是有些服务器不支持短格式标签
你改成
<?php }else{ ?> 这样的就能用了

问题同上,你试试把那个解决,肯能第二个问题就解决了。就是没解析所以if(){}缺少封闭的大括号。

add_action不是Php 的函数,那个估计是系统的自定义函数。追问

您没明白我的意思,我是想问为什么要写成这样,而不是直接写成

……
}else{
#nav ul.sub-menu{display:none;}
}?>
为什么要写成底下这样呢

……

#nav ul.sub-menu{display:none;}

本回答被网友采纳
第2个回答  2012-08-22
<?php $options = get_option('options'); if ($options['submenu']){?>
……
<?php }else{ ?>
......
<?php } ?>
说明:....为页面输出,即html代码,并非PHP语句,如果你不想使用<?php }else{ ?>,那么你要在输出的地方使用echo语句,如:
<?php $options = get_option('options'); if ($options['submenu']){
echo '……';
}else{
echo '......';
} ?>追问

那最下面为什么还要用,来封装一个“}”呢 我直接写到上面
}else{
echo '......';

的后面,也就是
}else{
echo '......';

}?>
这样写不可以吗

追答

是的,是这样写,刚才是我复制时疏忽了,在这个代码中如果要转成php的echo输出,还要注意一点,字符串的拼凑,因为原来的html输出中还夹带了PHP,如这句

/js/jquery-1.2.6.min.js">

转换成PHP时应该这样
echo '';

追问

3Q 3Q ,多谢了 了解为什么要这样子了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网