【问题标题】:Can't use function return value in write context (numeric function) [duplicate]无法在写入上下文中使用函数返回值(数字函数)[重复]
【发布时间】:2016-10-09 16:24:32
【问题描述】:

我收到了错误:

不能在写上下文中使用函数返回值

当尝试使用这个函数调用时:

<?php if ( get_price( item_1 ) = 100) { ?>
Hello
<?php } else { } ?> 

这是函数:

function get_price($m) {

global $item,$i;    

  if ($m == "item_1") {
    $value =  $item[$i]["a_price"];
  }  
  else { 
    $value = $item[$i]["price"];
  }

  return $value;

}

当我做这样的事情时,该功能确实有效:

&lt;?= get_total_price( item_1 ) ?&gt;

或者当我使用!= 运算符时:

&lt;?php if ( get_price( item_1 ) != 100) { ?&gt;

所以我不知道这个特定用途有什么问题

【问题讨论】:

  • = 不是它设置的比较。所以get_price( item_1 ) = 100 是不正确的。您正在尝试使用当前代码将函数设置为 100,这是不可能的。
  • != 是如何工作的呢?我注意到它正确检查了值,即使我没有使用!==
  • 因为!= 表示not equal to,而== 表示equal to,而= 表示set===!== 表示相同,但​​也比较类型。

标签: php fatal-error


【解决方案1】:

你写错了

<?php if ( get_price( item_1 ) = 100) { ?>

它应该是一个多等号 (=) 和一个多一个 (

<?php if ( get_price( item_1 ) == 100)) { ?>

【讨论】:

  • 最后不应该是2个)s。这也已经在 cmets 中得到解决。
猜你喜欢
  • 2016-09-02
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2011-04-22
相关资源
最近更新 更多