PHP字符串的递增和递减示例介绍

yipeiwu_com6年前PHP代码库
今天看到php手册上有这么一段话:

“在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a 变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。”

也就是说:
复制代码 代码如下:

for($i = 'A'; $i <= 'Z'; $i++) {
echo $i;
//if( $i == 'ZZZ') die();
}

结果是:ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA…………

还有字符串变量不能递减:
复制代码 代码如下:

$a = 'Z';
--$a;
echo $a; // Z

这也说明了$a++或++$a,不能要 $a = $a + 1;来解释
复制代码 代码如下:

$a = $b = 'Z';
$a = $a + 1;
echo $a; //1
++$b;
echo $b; //AA

相关文章

Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口

你需要修改attachment.php文件 在根目录下  在$attachexists = $ispaid = FALSE;下...

php Undefined index和Undefined variable的解决方法

$act=$_POST['act']; 用以上代码总是提示 Notice: Undefined index: act in F:\win...

php使用curl代理实现抓取数据的方法

本文实例讲述了php使用curl代理实现抓取数据的方法。分享给大家供大家参考,具体如下: <?php define ( 'IS_PROXY', true ); //是否...

防止本地用户用fsockopen DDOS攻击对策

原因 php脚本部分源码: 复制代码 代码如下: $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); if($fp){ fw...

PHP序列化操作方法分析

本文实例讲述了PHP序列化操作方法。分享给大家供大家参考,具体如下: 序列化就是将变量数据转换为字符串(跟类型转换机制不同),一般应用于存储数据(文件),然后在别的情形下恢复(反序列化)...