请问这个php函数为什么要这样写,下面还要单独一个php封装一个“}”,单独写到else后面就会显示函数调用失败,这样写是什么目的求指教。
还有的地方上面的函数明明已经结束了,底下是新的php函数,而php函数开头还要加上“}”,如果去掉,或者写到上一个函数的结尾就会出错,例如
</div>
</form>
<?php
}
}
add_action('admin_menu', array('Options', 'add'));
……
请问这个是什么语法
我还是了解一些编程的,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语句必备的,根据你的调用情况,在适当的位置写出适当的标签
这里可能会出现语法错误,原因是有些服务器不支持短格式标签
你改成
<?php }else{ ?> 这样的就能用了
问题同上,你试试把那个解决,肯能第二个问题就解决了。就是没解析所以if(){}缺少封闭的大括号。
add_action不是Php 的函数,那个估计是系统的自定义函数。追问
您没明白我的意思,我是想问为什么要写成这样,而不是直接写成
……
}else{
#nav ul.sub-menu{display:none;}
}?>
为什么要写成底下这样呢
……
#nav ul.sub-menu{display:none;}
……
<?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 ,多谢了 了解为什么要这样子了