严格的标准:只有变量应该在数组中通过引用传递


Strict Standards: Only variables should be passed by reference in array

$name = substr($name, 0, -strlen($ext)) . "_medium." . end(explode('.',$name));

以上代码报告击中标准警告,小脚本如下:

  function medium($name) {
    $ext = strrchr($name, '.');
    if($ext !== false) {
        $name = substr($name, 0, -strlen($ext)) . "_medium." . end(explode('.',$name));
    }
    return $name;
  }
  function thumb($name) {
    $ext = strrchr($name, '.');
    if($ext !== false) {
        $name = substr($name, 0, -strlen($ext)) . "_thumb." . end(explode('.',$name));
    }
    return $name;
  }
  function name_remove($name) {
    $name = str_replace("_medium", "", $name);
    $name = str_replace("_thumb", "", $name);
    return $name;
  }

如何修复此警告?需要帮助:)

$blocks = explode('.',$name);
$name = substr($name, 0, -strlen($ext)) . "_medium." . end($blocks);

为什么不使用pathinfo()

将错误报告更改为30719