不推荐使用:不推荐使用函数split()作为节点

时间:2013-06-16 16:50:19

标签: php split deprecated

我正在使用PHP 5.3并继续为我的split()函数获取以下错误。我已经查看了这个问题的其他提要,但是没有一个答案似乎有效。

function storeFile() {
$path = $_SERVER['PHP_SELF'];
$nodes = split('/', $path);
$this->store('file', $nodes[count($nodes)-1]);
}

谢谢你们!

3 个答案:

答案 0 :(得分:2)

来自手册:

  自PHP 5.3.0起,不推荐使用

split()。 preg_split()是建议的   替代这个功能。如果你不需要的力量   正则表达式,使用explode()更快,但没有   招致正则表达式引擎的开销。

您可以像这样修复您的代码:

function storeFile() {
$path = $_SERVER['PHP_SELF'];
$nodes = explode('/', $path);
$this->store('file', $nodes[count($nodes)-1]);
}

答案 1 :(得分:0)

这是因为您使用的是已弃用的函数split()

  自PHP 5.3.0起,不推荐使用

split()。 preg_split()是此函数的建议替代方法。如果你不需要正则表达式的强大功能,那么使用explode()会更快,这不会产生正则表达式引擎的开销。

最好更改为explode()功能

function storeFile() {
    $path = $_SERVER['PHP_SELF'];
    $nodes = explode('/', $path);
    $this->store('file', $nodes[count($nodes)-1]);
}

答案 2 :(得分:0)

只需使用explode

$nodes = explode('/', $path);

split已弃用。 (见大红框on this page