【发布时间】:2012-02-18 07:55:51
【问题描述】:
我有这 2 个我一直在使用的 sn-ps 代码,但似乎无法让逻辑坚持其中任何一个。
我正在尝试查看给定字符串的末尾是否有'/',如果没有,则添加它。
$path = '.';
if (substr($path, 0, -1) != '/')
$path .= '/';
和
if (strrpos('/', $path) !== true)
$path .= '/';
我遇到的问题是,如果我使 $path 等于 './,那么我将其作为输出 .//
这是我遇到问题的位置
if (!is_array($paths))
$this->classPath[] = $paths;
else
$this->classPath = $paths;
foreach ($this->classPath as $path) {
if (strrpos('/', $path) !== true)// || substr_count($path, '/') >= 0)
$path = $path . '/';
//else
//$this->classPath[] = $path;
//echo '0';
$pathArr[] = $path;
【问题讨论】:
-
您对这两个代码都有这个问题,还是只有后一个代码有这个问题?使用后者有什么意义?
-
对两者。我试图检测最后一个字符串是否为
/两者都应该从最后一个字符串迭代,对吗? -
我想你想要
strrpos('/', $path) !== 0 -
@knittl
strrpos的语法错误,参见php.net/manual/en/function.strrpos.php,如果它是/,它也不会返回0,而是最后一个字符的位置。 -
你可以使用
strpos(strrev($path), '/') !== 0
标签: php