【PHP】二、php字符串(积累)

php字符串类型(部分)

引号

单引号:定义一个字符串
双引号:PHP 会对中间一些特殊的字符进行解析

$a = 'red';
echo '颜色:$a';
echo "颜色:$a";

双引号内部的有数组单元,键名不能加单引号会抛异常,只有在花括号情况下键名才能使用单引号

$color= array("red", "orange", "blue","childColor" => "purple");
echo "颜色:$color[childColor]".PHP_EOL;
echo "颜色:${color['childColor']}".PHP_EOL;
echo $color['childColor'];
Heredoc

很类似js中的字符串模板,不过这里Heredoc结构可以解析其中的特殊字符,也就是js字符串模板中的xxx${xxx}xx ,在用这个不仔细看文档就会范和我一样的错

// 错误
public function test3(){
  $b = <<<GOD 
 	sdsadsadsadas
    ddsadsadsa
    dsadsad
  GOD;
  echo "$b";
}
// 正确
public function test3(){
  $b = <<<GOD
 	sdsadsadsadas
    ddsadsadsa
    dsadsad
GOD;
  echo "$b";
}

一直报错syntax error, unexpected end of file
仔细看了下文档,才发现我这里就错了2个地方了:

  • <<<GOD :这里后面多了个空格符,这里GOD后面不能有任何符号
  • GOD: 这里没有顶头写,GOD前面必须是一个换行符,不允许有任何其他符号存在
Nowdoc

类似Heredoc 结构

  • Nowdoc 不能解析内容,按原样输出,
  • <<<'xxx’这里的标识符需要用单引号扩起

字符串函数

strlen:获取字符串长度
$str = '123abc';
echo strlen($str) // 6
str_replace:字符串替换

str_replace ( A , B, C ) ----- 将C中所有的A替换成B的结果返回
注意:如果AB是数组,将对C做二者的映射替换。如果 B 的值的个数少于 A 的个数,多余的替换将使用空字符串来进行。如果 A是一个数组而 B是一个字符串,那么 A中每个元素的替换将始终使用这个字符串。

$search  = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject); // F
// A->B  B->C  C->D  D->E  E->F 

// B 的值的个数少于 A 的个数 空字符串替换
$letters = array('a', 'p');
$fruit   = array('apple');
$text    = 'a p';
$output  = str_replace($letters, $fruit, $text);
echo $output;   // ale     a->apple   apple->ale
substr_replace: 字符串替换

substr_replace (A , B, C,length)
将字符串A的中由 C 和可选的 length 参数限定的子字符串使用 B 进行替换

$str= 'apple';
echo "我喜欢吃: $str".PHP_EOL;   // 我喜欢吃: apple
echo substr_replace($str, 'orange', 0) . PHP_EOL;  // orange
echo substr_replace($str, 'orange', 0, strlen($str)) . PHP_EOL; // orange
echo substr_replace($str, 'cc', 3, 1) .PHP_EOL;   // appcce
echo substr_replace($str, 'cc', 3, -1) .PHP_EOL;   // appcce
preg_match:正则匹配
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值