获取函数参数值PHP

时间:2012-11-10 03:57:29

标签: php function

我有一个带有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;
}

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

2 个答案:

答案 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);