如何引用另一个参数作为函数中参数的默认值?
How do you reference another parameter as the default value of a parameter in a function?
下面,我有一个函数调用,如果当前文件名与 giveClassActive()
。每个列表项都有将要显示的文本、要指向的页面的 href 以及要检查的文件名。只是有时 $href
和 $file
值不同,因为 #
必须变为 %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 function with variable as default value for a parameter 不同,因为该问题不询问引用参数,而是询问另一个变量。
最好的是
if ($href == null)
$href = $file;
下面,我有一个函数调用,如果当前文件名与 giveClassActive()
。每个列表项都有将要显示的文本、要指向的页面的 href 以及要检查的文件名。只是有时 $href
和 $file
值不同,因为 #
必须变为 %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 function with variable as default value for a parameter 不同,因为该问题不询问引用参数,而是询问另一个变量。
最好的是
if ($href == null)
$href = $file;