三、字符串
1。直接量三种写法: (1)单引号,不会替换变量,且只支持 \' \\ 两个转译字符
(2)双引号,会进行变量替换,双引号能支持除了 \' 以外的所有转译符
(3)heredoc,比如:
$string = <<< End_Of_String
haha hehe hoho....
hehe
End_Of_String;
其中End_Of_String可以被任意字符串替代。 heredoc会进行变量替换。字符比如单引号、双引号、空格等都会被保留
(4) http://hi.baidu.com/kkwtre/blog/item/bdb9cc35d1674a1291ef39fd.htm
http://hi.baidu.com/kkwtre/blog/item/f5cdb4fa7521fcdcb58f312a.html
2。echo: 不是函数,而是语言结构,所以不可以将它做为表达式。比如 if(echo 'test')会解析出错
3。访问单个字符: $str = "HAHA"; echo $str{0}; // H
4。删除空白符: trim(string [,charlist]); ltrim(), rtrim(); P82
<?php
$string = "aaaabbbbbbaaaaaadddda";
$string1 = trim($string,"a"); //将两边的a都去掉
echo $string1; //bbbbbbaaaaaadddd
echo $string; //不变还是aaaabbbbbbaaaaaadddda
?>
5. 改变大小写: strtolower() strtoupper() 操作整个字符串, ucfirst()只操作字符串的第一个字母,ucwords()操作每一个单词的第一个字母
6。HTML编码: htmlentities() htmlspecialchars() html_entity_decode()
http://hi.baidu.com/kkwtre/blog/item/dbc2a2c4c0239cad8326ac23.html
7。删除HTML标签: strip_tags($html_string, $reserve_string); 第二个参数指定要留下的标签。
8。url编码 urlencode(),urldecode(),rawurlencode(),rawurldecode().
(1) 两种编码方式不同点是处理空格,前者编码为+,后者是%20
(2) 中文也会被编码成%dd%dd的形式。
(3) 不要对一个完整的url使用这些函数,因为它门会转移冒号和反斜杠.应该只编码部分URL,然后在之前加上协议和域名
<?php
$name = "php 程序设计";
$output = urlencode($name);
echo "http://www.kkwtre.com/{$output}";
//http://www.kkwtre.com/php+%B3%CC%D0%F2%C9%E8%BC%C6
?>
9.比较字符串: (1) 比较操作符。< , >等比较操作符的一个参数是数字时,其他参数也将被转换为数字类型,所以"php" < 1.“php”被转换为0.
而==比较操作符,当一个是数字,另一个是字符串时,将数字转换为字符串。
(2) strcmp()区分大小写, strcasecmp()不区分大小写,它在比较之前,将字符串转换为小写。
(3)strncmp(string1,string2,len),strncasecmp(string1,string2,len)只比较前面len个字符
(4) strnatcmp(),strnatcasecmp()进行自然顺序的比较
10。子串获取: $piece = substr(string,start [, length]);
11. 字符串的插入删除: substr_replace(orginal_string, new_string, start [, length]).
该函数首先将original_string从start开始删除length个字符,然后再start处插入new_string.这个函数有以下几种用法:
(1).普通操作:
<?php
$greeting = "good morning citizen";
echo substr_replace($greeting,"bye",5,7); //good bye citizen
?>
(2).插入:无删除的插入,只需要设定length为0
$greeting = "good morning citizen";
//good bye morning citizen
substr_replace($greeting,"bye",5,0);
(3).删除:将某一段子串删除,只需将第二个参数new_string设置为""
substr_replace($greeting,"",5,7); //good citizen
substr_replace($greeting,"",5); //good
另外,start和length都可以是负值,表示从字符串末尾开始计数。
12。字符串的填充: str_pad(original_string, to_length [, pad_string,STR_PAD_RIGHT | STR_PAD_RIGHT_LEFT | STR_PAD_BOTH ]);
(1) 该函数将original_string用pad_string填充成to_length长的字符串,默认为STR_PAD_RIGHT,即右边
(2) 如果没有参数pad_string,则默认是以空格加在字符串的右边
<?php
echo str_pad('haha',30)."end"; //haha end
echo str_pad('haha',30,'.')."end"; //haha..........................end
?>
13. 字符串的翻转: strrev(string);
14. 重复字符组成的字符串: str_repeat(string,count); 比如,创建一个分割符:str_repeat('-',30);