美文网首页php面试题
php面试题:String 字符串

php面试题:String 字符串

作者: 焚_44b3 | 来源:发表于2018-12-06 20:49 被阅读11次

    一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。详见字符串类型详解。string 最大可以达到 2GB。
    不像双引号和 heredoc 语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替换。

    要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。

    $a=array("a"=>"123");
    echo $a['a'];
    #123
    
    echo "$a[a]";
    #123
    
    echo "$a['a']";
    #报错
    
    echo "$a['a']";
    

    注意:如果要是用带有引号的键名,可以如下的方法使用:

    echo "{$a['b']}";
    #报错,因为key,b不存在
    

    任何具有 string 表达的标量变量,数组单元或对象属性都可使用此语法。只需简单地像在 string 以外的地方那样写出表达式,然后用花括号 {} 把它括起来即可。由于 { 无法被转义,只有 * 紧挨着 *{* 时才会被识别。可以用 *{\ 来表达 {$

    string 中的字符可以通过一个从 0 开始的下标,用类似 array 结构中的方括号包含对应的数字来访问和修改,比如 str[42]。可以把 string 当成字符组成的 array。函数 substr() 和 substr_replace() 可用于操作多于一个字符的情况。string 也可用花括号访问,比如str{42}。

    用超出字符串长度的下标写入将会拉长该字符串并以空格填充。非整数类型下标会被转换成整数。非法下标类型会产生一个 E_NOTICE 级别错误。用负数下标写入字符串时会产生一个 E_NOTICE 级别错误,用负数下标读取字符串时返回空字符串。写入时只用到了赋值字符串的第一个字符。用空字符串赋值则赋给的值是 NULL 字符。

    $foo = 1 + "10.5";                // $foo is float (11.5)
    $foo = 1 + "-1.3e3";              // $foo is float (-1299)
    $foo = 1 + "bob-1.3e3";           // $foo is integer (1)
    $foo = 1 + "bob3";                // $foo is integer (1)
    $foo = 1 + "10 Small Pigs";       // $foo is integer (11)
    $foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
    $foo = "10.0 pigs " + 1;          // $foo is float (11)
    $foo = "10.0 pigs " + 1.0;        // $foo is float (11)  
    

    php在线面试题集:http://cainiaophp.com/
    php面试讨论群:536633782

    相关文章

      网友评论

        本文标题:php面试题:String 字符串

        本文链接:https://www.haomeiwen.com/subject/vrjacqtx.html