String

1.双引号和heredoc中,能够识别变量和特殊字符,转移序列。单引号和nowdoc中不可以识别。

2. Heredocs 结构不能用来初始化类的属性。自 PHP 5.3 起,此限制仅对 heredoc 包含变量时有效。Heredocs结束时所引用的标识符必须在该行的第一列

3. 在 PHP 5.3.0 以后,也可以用 Heredoc 结构来初始化静态变量和类的属性和常量
function foo()
{
    static $bar = <<<LABEL
Nothing in here...
LABEL;  //注意 LABEL必须放在第一列
}

4.php5.3以后,还可以用双引号来声明标示符
<?php
echo <<“FOOBAR”
hello world!
FOOBAR;

5.nowdoc和heredoc类似,将标示符号用单引号括起来就成了nowdoc,只是不会进行解析变量和特殊字符。因此nowdoc很适合嵌入PHP代码或其他大段不需要解析的文本。
$ta = <<<'EOD'
this is doc
$b test  //变量$b将不会被解析。
EOD;

6.在“”和heredoc中可以直接用$varname来访问变量,但只限于简单的变量,如果遇到关联数组,a->b-c,$arr[1][2][3]等复杂的表达式时,需要用花括号将其括起来。否则无法访问。由于 { 无法被转义,只有 $ 紧挨着 { 时才会被识别。可以用 {\$ 来表达 {$。
// 无效,输出: This is { fantastic}
echo "This is { $great}";

// 有效,输出: This is fantastic
echo "This is {$great}";
echo "This is ${great}";

7.字符串可以看作是数组,用str[1] = 3;来负值和使用。在php中还可以用{}访问。
$foo = "hello";
$foo{0} = 'y';
$foo[1] = "d";

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

Warning
PHP 的字符串在内部是字节组成的数组。因此用花括号访问或修改字符串对多字节字符集很不安全。仅应对单字节编码例如 ISO-8859-1 的字符串进行此类操作。

8.用 [] 或 {} 访问任何其它类型(不包括数组或具有相应接口的对象实现)的变量只会无声地返回 NULL。
$a = 3;
echo $a[0]; //什么都没有。。

9.字符串可以用.运算符连接,但不能用+连接

10.常用的函数

strval 将其他类型转换为字符串(TRUE 为 1 false为NULL)

explode 分割字符串

implode 将一纬数组合并为字符串

htmlspecialchars 将特殊符号比如<,>,注册商标,&等转化为HTML实体,&lt;&gt;等等。

htmlspecialchars_decode 与上面相反。

ltrim,rtrim,trim

md5

nl2br 字符串所有新行之前插入html标签<br>

sha1

str_replace

str_repeat

strcmp

strip_tags 从字符串中取出HTML和PHP标记

stripos strpos 查找字符串位置,区分不区分大小写两个。

strlen

《完》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值