1

下面,我有一个函数调用,active如果当前文件名与giveClassActive(). 每个列表项都有要显示的文本、要指向的页面的 href 以及要检查的文件名。只是有时$hrefand$file值不同,因为#must become %23。所以,我想给$href一个默认值$file

<?php
function giveClassActive($file, $href, $show) {
    echo '<li class = "';
    $filename = explode('/', $_SERVER['SCRIPT_NAME']);
    $file_name = end($filename);
    if ($file_name == $file) {
        echo 'active';
    }
    echo '">';
    echo '<a href = "' . $href . '">' . $show . '</a></li>';
}
giveClassActive('calculator #5.php', 'calculator %235.php', 'Calculator');
giveClassActive('contact.php', 'contact.php', 'Contact'); 
?>

我的问题是:如何在函数定义中引用另一个参数?

我试过了

function giveClassActive($file, $href = $file, $show) {

function giveClassActive($file, $href = this.$file, $show) {

产生

Fatal error: Constant expression contains invalid operations in C:\Bitnami\wampstack-7.1.22-1\apache2\htdocs\LarryUllman\Chapter 3\includes\header.html on line 20

注意:输出为

输出

搁置后编辑

我的问题与将变量作为参数的默认值的 PHP 函数不同,因为该问题不询问引用参数​​,而是询问另一个变量。

4

1 回答 1

0

最好的是

if ($href == null)
    $href = $file;
于 2019-06-05T21:34:53.927 回答