V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
astome
V2EX  ›  PHP

关于 php 字符串的问题

  •  
  •   astome · 2016-07-21 10:40:44 +08:00 · 2389 次点击
    这是一个创建于 2838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    试例 $str="abcdef"; echo $str[2];

    result:是 c

    这是一个字符串 为什么能用数组的形式打印出来

    10 条回复    2016-07-29 15:39:42 +08:00
    Patrick95
        1
    Patrick95  
       2016-07-21 10:42:46 +08:00   ❤️ 1
    php 官方使用手册:

    存取和修改字符串中的字符
    字符串中的字符可以通过一个以 0 为开始的,用类似数组结构中的方括号包含对应的数字来查找和修改,比如 $str[42], 可以把 字符串想像数组 。
    函数 substr() 和 substr_replace()可以用来实现多于一个字符的情况。

    Note:
    字符串为了同样的目的也可以用花括号,比如 $str{42},但是, 在 PHP 5.3.0 中不推荐使用这种格式,应该用方括号,就像 $str[42]。
    astome
        2
    astome  
    OP
       2016-07-21 10:50:08 +08:00
    楼上解释很详细,感觉 php 跟 js 有点像,字符串也相当一个数组对象,能下数组的形式去获取相关数据
    metowolf
        3
    metowolf  
       2016-07-21 10:58:47 +08:00   ❤️ 2
    和 C/C++ 类似,字符串就是字符数组(虽然不严谨
    iyaozhen
        4
    iyaozhen  
       2016-07-21 11:00:51 +08:00 via Android
    好像大部分语言都这样吧,方便各种字符串操作。
    techmoe
        5
    techmoe  
       2016-07-21 11:24:33 +08:00 via Android
    index 是从 0 开始的
    说白了:
    abcdef
    012345
    chuhemiao
        6
    chuhemiao  
       2016-07-21 11:47:47 +08:00
    每个字符串都是一个无形中的数组
    zsdroid
        7
    zsdroid  
       2016-07-21 14:55:56 +08:00
    看上去很奇怪,但是至少很好用
    zhouxuchen
        8
    zhouxuchen  
       2016-07-22 09:51:28 +08:00
    忘记了被 C 语言支配的恐惧么(手动滑稽
    kair
        9
    kair  
       2016-07-22 14:51:02 +08:00   ❤️ 1
    不知道楼主有木有接触过 C
    string 类型在 C 语言中的基础类型是不存在的
    C 语言中有 char 类型
    你可以简单理解为,一个字符串其实是多个 char 拼接起来的数组
    最后, PHP 是 C 写的
    astome
        10
    astome  
    OP
       2016-07-29 15:39:42 +08:00
    @kair 大神你很牛,我没有接触过 c 谢谢的解答 让我豁然开朗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3117 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:34 · PVG 21:34 · LAX 06:34 · JFK 09:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.