【问题标题】:Strict Standards: Only variables should be passed by reference [5.6]严格标准:只有变量应该通过引用传递[5.6]
【发布时间】:2017-08-28 17:40:17
【问题描述】:

我在流式传输的 PHP 脚本中遇到错误。

严格标准:只有变量才能通过引用传递 /home/x/public_html/xstream/episodestream.php 在第 114 行

<?php 
$url = $cap['seo'];
$numero    = end(explode('-', $url));
$palabra1  = str_replace($numero, '', $url);
$final     = $palabra1;
?> // line 114
<?php if ($numero <= 1) {} else {?> // line 115

【问题讨论】:

  • 它为我工作:-eval.in/851243 。那么您能否提供更多详细信息,例如$url 中的内容?
  • 在使用end() 之前尝试将explode('-', $url) 存储到一个变量中。 $x=explode('-',$url); $numero = end($x);
  • 似乎 end() 是问题所在,尝试将 explode('-', $url) 分配给一个变量。
  • @AlivetoDie,您需要在错误报告中添加 E_STRICT。例如:eval.in/851249
  • @AlivetoDie,这是 //Friendly URL - function setSeo($url)

标签: php


【解决方案1】:

阅读PHP doc of end

数组。这个数组是通过引用传递的,因为它是由函数修改的。这意味着您必须将一个实变量传递给它,而不是一个返回数组的函数,因为只有实际变量可以通过引用传递。

这意味着您不能将explode 函数直接传递给end。相反,您需要分两步进行:

$var = explode('-', $url);
$numero = end($var);

【讨论】:

  • 我有错误。解析错误:语法错误,第 327 行出现意外的 '}' 请看这个截图:prntscr.com/ge4wap
  • 您在初始化之前使用的是$numero。哪个是327线?
  • 我删除了 ,它现在可以工作了。谢谢你的帮助!我将捐赠您的 PayPal 5 美元。如果你想。我想给你员工开发人员来帮助动漫流媒体。我们可以通过 Skype 或 discord 联系吗?
  • @SamettoChan 哦,捐款!那太棒了。请将其捐赠给 StackOverflow。他们免费在这里做得很好。他们应得的。
  • 谢谢!你能给我一个 StackOverflow 捐赠的链接吗?
猜你喜欢
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 2016-01-12
  • 2014-11-01
  • 2015-05-27
  • 2016-10-05
相关资源
最近更新 更多