PHP 语法糖一枚

又是刷题目刷到的,真是一个悲伤的故事。

<?php
$s = '12345 ';
$s[$s[1]] = '234 ';
echo $s;
?>

输出是什么呢,很奇怪吧,明明不是数组。
其实在字符串中这么表示意思就是第n - 1个字符。
比如$s[1]截取的就是2,当然这里只接受length = 1的字符,而不接受字符串,所以第二步只是将3替换为了2,而没有把字符串替换进去。

length = 1代表 截取一个字节,所以对于中文不适用,关于中文的字节数,见PHP utf-8下strlen()小结

扩展阅读:http://www.php.net/manual/zh/language.types.string.php#language.types.string.substr

字符串原型大概指的是:$str = 'abc'[1] 差不多这个意思吧

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识, 语法, 题目

添加新评论