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
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2013-11-21 23:28  风林火山09  阅读(153)  评论(0编辑  收藏  举报