致命错误:在写上下文中不能使用函数返回值

时间:2011-04-18 13:12:46

标签: php

页面代码都是html,它不会加载。这个错误:

  

致命错误:无法在写入上下文行142中使用函数返回值

代码:

<div>
    <div class="">
        <input type="text" id="select_shelves" name="select_shelves" class="shelves_select_and_buttons" />
        <div id="shelves_menu" >
            <ul>
                <li id="li_" onclick="printValue();">option5 <= line 142 </li>
            </ul>
        </div>
    </div>
    <div class="button">
        <input type="button" onclick="dropShelves();" id="Shelves_select_button" name="Shelves_select_button" value="" class="grey_button"/>
    </div>
</div>

2 个答案:

答案 0 :(得分:32)

如果有一些PHP落后,问题可能是以这种方式调用一个函数为空($ var):

if(empty($var = getMyVar())) { ... }

而不是这样你应该这样称呼它:

$var = getMyVar();
if(empty($var)) { ... }

或者更好(正如 deceze 指出的那样)

if(!getMyVar()) { ... }

问题还会导致其他类似的函数(isset,is_a,is_null等)。

答案 1 :(得分:14)

你可能正在使用类似的东西:

if(empty(urFunc($foo)){
    ....
}

哪个不起作用。

它是什么(在错误中查找留置号以找到它)将其更改为:

$foo = urFunc($bar);
if(empty($foo)){
    ....
}

应该修复它。