我有一个带有5个参数和默认站点宽度变量的函数
$site_width ='1000px';
function MyPrintFunction ($divName,$width=false,$html1='',$html2='', $echo = true ){
... plenty of code above, no need to post complete function
$html = '<div id="'.$divName.'">';
$html .= '</div>';
if( $echo ){
echo $html1.$html.$html2;
}else{
return $html1.$html.$html2;
}
}
而不是我打印html:
MyPrintFunction ('divname1',true);
MyPrintFunction ('divname2');
MyPrintFunction ('divname3');
我需要检查这些函数是否已将第二个参数设置为true,如果是,则需要第一个参数名称。
这样我可以将参数名称添加到css片段(稍后将在头部注入)并为其设置宽度
#ARrument1NameSHouldGoHereAsVariable{
width:$site_width;
}
我希望我解释了这一点。对不起,如果我没有。任何帮助表示赞赏。谢谢!
答案 0 :(得分:1)
这是为了什么?
function MyPrintFunction ($divName,$width=false,$html1='',$html2='', $echo = true ){
逻辑就像这样
<?php
function blahblah($param1, $param2) {
//Put some weirdy stuff here
if($param2 == '1') {
//Than it's true
} else {
//false
}
}
blahblah("div1", "1"); //This is true
blahblah("div1", "0"); //This is false
?>
答案 1 :(得分:1)
Noo不,你绝对可以拥有可选参数。这种情况有点混乱,但完全有可能。
echo MyPrintFunction('dafsd',435);
function MyPrintFunction ($divName,$width=2342){
return $divName . $width;
}
气馁的原因是因为...... 假设您要设置高度,而不是宽度设置为435
echo MyPrintFunction('dafsd',435);
function MyPrintFunction ($divName,$width=2222, $height=1111){
return $divName . $width . $height;
}
通常不应使用可选参数,如果要将它们放在数组的末尾
请噢,请让这就是你想要的......
function MyPrintFunction ($divName,$width=false){
$newObj = array();
$newObj['divName'] = $divName;
$newObj['width'] = $width;
return $newObj;
}
function hasWidth($newObj) {
if ($newObj['width']) {
return $newObj['width'];
}
else {
return 'no width!';
}
}
$tempStore1 = MyPrintFunction('dafsd',123);
$tempStore2 = MyPrintFunction('dafsd');
echo hasWidth($tempStore1);
echo hasWidth($tempStore2);