php字符串类型讲解
PHP 支持八种原始类型(type)。
四种标量类型:
两种复合类型:
两种特殊类型:
- resource(资源)
- NULL(空)
字符串类型
一个字符串是一串字符的序列,就像 "Hello world!"。
定义字符串有 3 种方法:
- 单引号(')
- 双引号(")
- 定界符(<<<)
1.单引号定义
<?php
$var_char = '码农教程';
?>
如果字符串中有单引号,那么需要使用反斜线(\)进行转义:
<?php
$var_char = '字符串中包含\'需要转义';
echo $var_char; //输出:字符串中包含'需要转义
?>
提示:如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。换言之反斜线在此只转义 ' 字符而不会转义其他字符。
如果只是定义一个简单的字符串而不需要解析更多的内容,显然用单引号效率更高。
2.双引号定义
如果用双引号(")定义字符串,PHP 懂得更多特殊字符的转义序列:
转义序列 | 说明 |
---|---|
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\[/td> | 反斜线 |
\$ | 美元符号 |
\" | 双引号 |
\[0-7]{1,3} | 此正则表达式序列匹配一个用八进制符号表示的字符 |
\x[0-9A-Fa-f]{1,2} | 此正则表达式序列匹配一个用十六进制符号表示的字符 |
例子:
<?php
$var_char = "这里有个换行\n这是第二行文字";
?>
注意该例子中的换行是指文本意义上换行,如果需要在浏览器里显示换行,需要用 nl2br() 函数将 \n 替换成 <br />。
双引号字符串最重要的一点是其中的变量名会被变量值解析替代:
<?php
$var_char = "这是一些文字";
echo "请打印这些文字:$var_char"; //输出:请打印这些文字:这是一些文字
?>
3.定界符定义
定界符定义字符串是使用定界符语法(<<<),并在定界符之后提供一个标识符,然后是被定义的字符串,最后是同样的标识符结束字符串定义。
例子:
<?php
$str = <<<EOD
我是用定界符定义字符串的例子
这是其他更多字符
……
EOD;
?>
该例子中,EOD 就是标识符。结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
注意:结束标识符所在的行不能有任何其他字符(可能除了一个分号 ; 之外),包括行缩进等。
提示:字符串不仅仅指上面例子所示的若干文字字符,也可以把数字定义为字符串,甚至巨大的长文本,这是和数据库中的 char 定义不一样的地方。
原文地址:http://www.manongjc.com/php/php_string.html
相关阅读:
php 使用str_word_count() 函数计算字符串中的单词个数
php str_split() 将字符串分割成N部分并保存到数组中
php str_shuffle 打乱字符串,将字符串的字符随机排列
php str_rot13() 函数获取字符串的ROT13 编码
php字符串类型讲解的更多相关文章
- Python 开发基础-字符串类型讲解(字符串方法)-2
s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print( ...
- Python 开发基础-字符串类型讲解(字符串方法)-1
s = 'Hello World!' print(s.capitalize()) #第一个字母大写,其余小写# 输出:Hello world!print(s.swapcase())#大写变小写,小写变 ...
- Python中list、字典、字符串的讲解
python 的list讲解 计算机中的数组是从0开始的 list中的下标.角标.索引说的都是一个 数组都是从0开始的. stus=["刘",“王”,“张”] stus2=[] ...
- django开发之model篇-Field类型讲解
今天介绍一下django开发中,定义模型时用到的相关字段类型和字段选项. 先说说常用的字段类型:1) AutoField: 自增字段类型,当自定义自增类型的id时,可以使用此类型:2) BigAuto ...
- 详解JAVA字符串类型switch的底层原理
基础 我们现在使用的Java的版本,基本上是都支持String类型的.当然除了String类型,还有int.char.byte.short.enum等等也都是支持的.然而在其底部实现中,还是基于 整型 ...
- 详解:Java字符串类型"switch"的底层原理
前言: 最近更新得会比较频繁,希望大家见谅哦! 也感谢关注我的人,我会更加更加努力去做的! 基础 我们现在使用的Java的版本,基本上是都支持String类型的.当然除了String类型,还有int. ...
- StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...
- Redis命令拾遗一(字符串类型)
文章归博客园和作者“蜗牛”共同所有 .转载和爬虫请注明原文Redis系列链接 http://www.cnblogs.com/tdws/tag/NoSql/ Redis有五种基本数据类型.他们分别是字符 ...
- Java中,关于字符串类型、随机验证码、 时间类型
一.字符串类型:String类型 定义一个字符串 String a="Hello World"; String b= new String ("Hello World&q ...
随机推荐
- Excel 设置下拉列表
1. 把列表的候选值写到一块区域, 可以说同Sheet也可以是另一个Sheet中. 2. 选中要设置的列, 选择 Data > Data Validation 3. 在Data Validati ...
- RESTful API 学习
/********************************************************************************* * RESTful API 学习 ...
- ipAllocate_and_linkState_hacking
#!/bin/bash # Author: Joshua Chen # Date: Jun # Location: Shenzhen #. 解读这两个程序是因为程序中包含了大部分shell脚本的基本语 ...
- CentOS使用安装光盘建立本地软件源
本实验的目的是使用CentOS的两张DVD安装光盘作为本地软件源,避免执行yum安装命令时每次都要从网络重新下载. 安装createrepo软件包 createrepo是制作软件源所需要的一个工具,默 ...
- ajax 跨域的问题 用js绕过跨域
之前遇到一个ajax跨域的问题,搜索了很多方法才找到解决方案,也怪自己 菜鸟一个 这些经验还是要慢慢来的 尤其是最近来回顾一下 竟然发现自己忘记了 所以还是把它记下来啊 免得到时候忘记 这个方法原 ...
- 好使-利用python 下paramiko模块无密码登录
[root@salt-minion02 paramiko]# vim baoleiji4.py # -*- coding:utf-8 -*-import paramikoprivate_key = p ...
- IBM WebSphere MQ介绍安装以及配置服务详解(转)
首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法.说白了也就是通过队列的方式来对应用程序进行数据通信.而无需专用链接来链接它们. MQ的通讯方式 1.数据报的方式 Datagra ...
- JVM(上)
堆.栈 JVM内存≍Heap(堆内存)+PermGen(方法区)+Thrend(栈)Heap(堆内存)=Young(年轻代)+Old(老年代),官方文档建议整个年轻代占整个堆内存的3/8,老年代占整个 ...
- Oracle 实例恢复
-======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭所 ...
- Map 的营救;使对象属性有顺序
使用ES6的新特性Map.Map 对象以插入的顺序遍历元素.for...of循环为每一次循环返回一个[key, value]数组. 如果想在跨浏览器环境中模拟一个有序的关联数组,你要么使用两个分开的数 ...