0

我有一个带有 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 片段(稍后将在 head 中注入)并为其设置宽度

#ARrument1NameSHouldGoHereAsVariable{
   width:$site_width;
}

我希望我解释得对。对不起,如果我没有。任何帮助表示赞赏。谢谢!

4

2 回答 2

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
?>
于 2012-11-10T04:01:59.430 回答
1

不不不,你绝对可以有可选的参数。情况有点混乱,但完全有可能。

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);
于 2012-11-10T04:36:58.487 回答