0
後來,我用php寫了一個網站,現在在我的網絡服務器上設置它。回來的時候我寫了,一切都很好,但現在,它正在產生這些錯誤:PHP通過引用傳遞?
Strict Standards: Only variables should be passed by reference in /home/dragonto/public_html/source/navbar.php on line 4
class="current">Home Strict Standards: Only variables should be passed by reference in /home/dragonto/public_html/source/navbar.php on line 4
>About Strict Standards: Only variables should be passed by reference in /home/dragonto/public_html/source/navbar.php on line 4
>Contact Us Strict Standards: Only variables should be passed by reference in /home/dragonto/public_html/source/navbar.php on line 4
>Projects Strict Standards: Only variables should be passed by reference in /home/dragonto/public_html/source/navbar.php on line 4
>Tutorials
我不知道這些是什麼意思。我研究了在PHP中通過ref傳遞,並且它看起來並不違反我的規定。這是有問題的腳本:
<?php
function GetScriptName()
{
return end(explode("/", $_SERVER['SCRIPT_FILENAME']));
}
$Links = array(
1 => array(1 => "Home", 2 => "index.php"),
2 => array(1 => "About", 2 => "about.php"),
3 => array(1 => "Contact Us", 2 => "contact.php"),
4 => array(1 => "Projects", 2 => "projects.php"),
5 => array(1 => "Tutorials", 2 => "tutorials.php")
);
echo "<nav>\n<ul>\n";
foreach($Links as &$Link)
{
echo "<li";
if($Link[2] == GetScriptName())
echo " class=\"current\"";
echo "><a href=\"" . $Link[2] . "\">" . $Link[1] . "</a></li>\n";
}
echo "</ul>\n</nav>\n";
?>
'返回端(爆炸(...))'被passsing創建到end()函數作爲參考的是爆炸陣列()。 –
好的...爲什麼不起作用? – DTSCode
它的工作原理,但在較新的PHP版本,你會得到警告,因爲你不應該這樣做。 –