一.字符串类型
php一共有8中数据类型
4种基本类型
boolean
integer
float(double)
string
2种符合类型
array
object
2种特殊类型
NULL
resource
二.创建字符串的方式
1.创建
(a).单引号
echo '123';
(b).双引号
echo "123";
(c).heredoc语法结构
echo <<<EOF
123
EOF;
[b]注意:<<<EOF后必须接一个换行,EOF必须顶行,所在行不能包含除了;其他字符[/b]
(d).nowdoc语法结构
echo <<<'EOF'
123
EOF;
[b]注意:<<<'EOF'后必须接一个换行,EOF必须顶行,所在行不能包含除了;其他字符[/b]
2.关于可否嵌入变量
单引号和nowdoc语法结构 不可以嵌入变量
双引号和heredoc语法结构 可以嵌入变量
3.关于引号转译
单引号 双引号
单引号创建 需要 不许要
双引号创建 不许要 需要
heredoc 不许要 不许要
nowdoc 不许要 不许要
三.字符串处理函数
1.字符串查找
(a).strpos($text,$patten,$offset=0);
相当与java firstIndexOf();
从text的offset位置开始,查找patten,返回patten在text中第一次出现的位置
需要注意的是。如果没找到返回的是boolean(false),如果找到的位置是第一个返回的是int(0),
所以在判断是否找到的时候
[b]if( strpos($text,$patten) != false) 这样写是错误的!
if( strpos($text,$patten) !== false) 这样写才是正确的,要类型也相当才可以。[/b]
注:stripos($text,$patten,$offset=0);
函数名加个i 是忽略大小写版本
注:strrpos($text,$patten,$offset=0);
函数名加个r 相当与java lastIndexOf()版本;
(b).strstr($text,$patten,$before_needle=false);
这个函数相当与strpos和substr的结合体。
$before_needle=false 时相当与 substr( $text, strpos( $text, $patten) )
$before_needle=true 时相当与 substr( $text, 0, strpos( $text, $patten) )
注 : stristr()
函数名加个i 是忽略大小写版本
注 : strchr()
与strstr($text,$patten,false) 一样
注 : strrchr()
与strstr($text,$patten,true) 一样
2.字符串分割
(a).array explode ( string $separator , string $string [, int $limit ] );
(b).array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] );
(c).string implode ( string $glue , array $pieces );