<?php
$path = $_SERVER['PHP_SELF']; // "/category/algorithm/"
$strArray = explode("/", $path);
$len = count($strArray);
echo $len; // 输出 4
echo '<br>';
for ($i = $len - 1; $i >= 0; $i--) {
echo strArray[$i].'<br>';
}
?>
这句代码哪里有问题?为什么总是打印出:
A
r
t
s
这还似乎不是一个 Issue ,而是一个 Feature 。
在 PHP 5.5 中新增的一个 Feature 。
一开始我觉得是这这里缺少

$
符号,被 php 引擎当作字符串来进行处理,因为在处理数组键时在旧版php中会有这中情况,只有这样可以说通,但是经过一些测试后,我更想知道你是怎么做到的输出Arts
。我以为是低版本 PHP 语法支持的问题,我专门去找了一些在线运行 php 的网站,最低支持到 php 5.3 ,告诉我语法错误,我想着 5.2 到 5.3 变化比较大,没准在这里面有什么问题,我打开 php for windows 下载页面找到了比较旧的一个版本 php 5.2 ,也是告诉我语法错误,后来我又去 PHP 博物馆 里面找了 php5 的第一个 win 版本,5.0.0 ,但是也是语法错误,最后,我从 php 4 中找到了第一个支持 win 的版本,php 4.4.6 ,也是语法错误……。