【问题标题】:"Function split() is deprecated" in PHP?PHP 中的“函数 split() 已弃用”?
【发布时间】:2011-08-07 15:13:27
【问题描述】:
$stringText = "[TEST-1] test task 1 Created: 06/Apr/11  Updated: 06/Apr/11"; 
$splitArray = split(" ",$stringText);

已弃用:函数 split() 在第 27 行的 C:\wamp\www\RSS.php 中已弃用

为什么会发生这个错误?

【问题讨论】:

标签: php arrays string split


【解决方案1】:

http://php.net/manual/en/function.split.php

来自手册

警告此功能已被 自 PHP 5.3.0 起已弃用。依靠 强烈建议不要使用此功能

注意:

从 PHP 5.3.0 开始,正则表达式扩展 已弃用,取而代之的是 PCRE 延期。调用这个函数会 发出 E_DEPRECATED 通知。见 差异列表以寻求帮助 转换为 PCRE。

我猜你应该使用替代preg_split()。或者,如果您不使用正则表达式,只需使用 explode

【讨论】:

    【解决方案2】:

    split 已替换为 explode,有关详细信息,请参阅 http://php.net/explode。与 split 工作方式相同,但 split 被“弃用”基本上意味着这是一个不应再使用的旧函数,并且不太可能出现在更高版本的 php 中。

    【讨论】:

    • 其实splitexplode有点不同。 explode 不支持正则表达式,所以替换函数为preg_split
    【解决方案3】:

    使用以下爆炸功能:

    $command = explode(" ", $tag[1]);
    

    这是本案例的标准解决方案。 它完美地工作。

    【讨论】:

      【解决方案4】:

      啊,docs 说了这件事。并且文档还说应该使用哪些函数而不是这个:

      1. preg_split
      2. explode
      3. str_split

      【讨论】:

        【解决方案5】:

        因为该功能已被弃用?您可以自定义 error_reporting 级别以不记录/显示折旧错误。但更谨慎的做法是纠正问题(IE 使用 explode 代替您在上面进行的简单拆分。)

        【讨论】:

          【解决方案6】:

          您可以将此自定义函数用于旧代码:

          if (!function_exists('split')) {
              function split($pattern, $subject, $limit=-1, $flags=0){
                  return preg_split($pattern, $subject, $limit, $flags);
              }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-03-22
            • 2013-08-22
            • 1970-01-01
            • 1970-01-01
            • 2011-03-28
            • 2020-04-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多