0927字符串
1:如何声明一个字符串变量
- 单引号
- 双引号
- 定界符
2.转义
双引号,单引号,不和原来的边界符号产生歧义,混淆
单引号 \' \\ \反斜线
双引号 转义的多 \n 换行符 \r 回车符
3 单双引号定义字符串有何区别?
转义上的区别:单引号 转义 \\ \' 其他不能转义
双引号 转义的多
变量解析上的区别:单引号不解析 双引号解析
速度上 单引号略快,因为不用多个解析和转义
纯文本 单引号 拼凑SQL 双引号
定界符定义
$str = <<<EOD
testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest
EOD;
heredoc的写法 --相当于双引号
<<<标识符 (独占一行 标识符不能正文中出现)
中间写大段的文本
标识符; (顶格独占一行)
nowdoc的写法 --相当于单引号 5.3
<<<'标识符'
中间写大段的文本
标识符;
使用mb_strlen() php.ini
需要开启
extension=php_mbstring.dll
extension=php_exif.dll
strpos(原字符串,要查找的字符串,偏移量)
在计算机里,ascii字符集中
65 -> 90 , A-Z
97 -> 122 , a-z
//写一个函数,判断指定的父串中,有没某子串 function findword($str,$sub) { if (strpos($str,$sub) === false) { echo '不包含'; } else { echo '包含'; } } //注意如果这里你用0判断真假,strpos找到子串的位置可能是0,会混淆。所以要用全等于false
// 用for循环或者while循环, 配置strpos // 计算某父串中, 子串出现的个数? function subcount($str,$sub) { $len_str = strlen($str); $len_sub = strlen($sub); $count = 0; $offset = 0; if ($len_sub > $len_str) { return 0; } while (($offset =strpos($str,$sub,$offset)) !== false) { $offset += $len_sub; $count += 1; } return $count; }
//substr_count