加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP常量字符串方括号索引

发布时间:2020-12-13 17:03:49 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试获取一个常量字符串并将其索引,就好像它是一个字符数组(方括号语法).当我尝试这个代码时,它在最后一行失败了. define( 'CONSTANT_STRING','0123456789abcdef');echo CONSTANT_STRING; // Works by itself :)$string = CONSTANT_STRING;echo $strin
我正在尝试获取一个常量字符串并将其索引,就好像它是一个字符数组(方括号语法).当我尝试这个代码时,它在最后一行失败了.

define( 'CONSTANT_STRING','0123456789abcdef');
echo CONSTANT_STRING; // Works by itself :)
$string = CONSTANT_STRING;
echo $string[9]; // Also works by itself.
echo strlen(CONSTANT_STRING); // Also works by itself.

echo substr(CONSTANT_STRING,9,1); // Ok,yes this works,but not as clean.

echo CONSTANT_STRING[9]; // Fails as a syntax (parse) error.

我在函数中使用这样的常量字符串.因为它可以在一个页面上多次调用,所以它确实应该是一个常量.如果没有办法按照我原先的意图做到这一点,最好的选择是什么.

解决方法

PHP Constants只能是标量值,因此引擎不会尝试正确解析常量,而不是标量,如数组或对象.

在您的情况下这是一个问题,因为括号用于指向数组索引,并且可以用作在字符串中的特定位置抓取字符的快捷方式.

你只需要以“硬”的方式去做,并使用substr().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读