PHP错误:只应通过引用传递变量

时间:2017-03-13 15:56:46

标签: php arrays

我有一个产生以下错误的PHP脚本:

只应通过引用传递变量

以下是给出问题的代码行:

if (strpos($config_disabled,end(explode(".", $lfile)))) { ?>

无法弄清楚如何更改它以停止提供错误。我试过几次改变它没有运气。有人能指出我正确的方向吗?

提前谢谢!

以下是完整的代码:

 // EDIT
if ($page == "edit") { ?>
    <h2>Edit &ldquo;<a href="<?php echo $filename; ?>"><?php echo $filename; ?></a>&rdquo;</h2>
    <a href="<?php echo $_SERVER["SCRIPT_NAME"]; ?>?i=<?php echo substr($_GET["f"],0,strrpos($_GET["f"],"/")); ?>" class="back">Back</a>
    <form method="post" action="<?php echo $_SERVER["SCRIPT_NAME"]; ?>?f=<?php echo $filename; ?>">
        <input type="hidden" name="sessionid" value="<?php echo session_id(); ?>" />
        <?php $lfile = strtolower($filename);
        if (strpos($config_disabled,end(explode(".", $lfile)))) { ?>
            <p>
                <textarea name="content" class="textinput disabled" cols="70" rows="25" disabled="disabled">Disabled.</textarea>
            </p>
            <p class="buttons_right">
                <input type="submit" class="button" name="save_file" value="Save" 
                disabled="disabled" />
        <?php } else { ?>

1 个答案:

答案 0 :(得分:0)

试试这个。它通过引用将$ myExplode传递给end。

$myExplode = explode(".", $lfile);
if (strpos($config_disabled,end($myExplode))) {
    //code here
}

我建议阅读参考文献:

http://php.net/manual/en/language.references.pass.php