PHP 支持八种原始类型(type)。

四种标量类型:

  1. string(字符串)
  2. integer(整型)
  3. float(浮点型,也作 double )
  4. boolean(布尔型)

两种复合类型:

  1. array(数组)
  2. object(对象)

两种特殊类型:

  1. resource(资源)
  2. NULL(空)

字符串类型 

一个字符串是一串字符的序列,就像 "Hello world!"。

定义字符串有 3 种方法:

  1. 单引号(')
  2. 双引号(")
  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 str_repeat()将字符串重复N次

php字符串类型讲解的更多相关文章

  1. Python 开发基础-字符串类型讲解(字符串方法)-2

    s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print( ...

  2. Python 开发基础-字符串类型讲解(字符串方法)-1

    s = 'Hello World!' print(s.capitalize()) #第一个字母大写,其余小写# 输出:Hello world!print(s.swapcase())#大写变小写,小写变 ...

  3. Python中list、字典、字符串的讲解

    python 的list讲解  计算机中的数组是从0开始的 list中的下标.角标.索引说的都是一个 数组都是从0开始的. stus=["刘",“王”,“张”] stus2=[] ...

  4. django开发之model篇-Field类型讲解

    今天介绍一下django开发中,定义模型时用到的相关字段类型和字段选项. 先说说常用的字段类型:1) AutoField: 自增字段类型,当自定义自增类型的id时,可以使用此类型:2) BigAuto ...

  5. 详解JAVA字符串类型switch的底层原理

    基础 我们现在使用的Java的版本,基本上是都支持String类型的.当然除了String类型,还有int.char.byte.short.enum等等也都是支持的.然而在其底部实现中,还是基于 整型 ...

  6. 详解:Java字符串类型"switch"的底层原理

    前言: 最近更新得会比较频繁,希望大家见谅哦! 也感谢关注我的人,我会更加更加努力去做的! 基础 我们现在使用的Java的版本,基本上是都支持String类型的.当然除了String类型,还有int. ...

  7. StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...

  8. Redis命令拾遗一(字符串类型)

    文章归博客园和作者“蜗牛”共同所有 .转载和爬虫请注明原文Redis系列链接 http://www.cnblogs.com/tdws/tag/NoSql/ Redis有五种基本数据类型.他们分别是字符 ...

  9. Java中,关于字符串类型、随机验证码、 时间类型

    一.字符串类型:String类型 定义一个字符串 String a="Hello World"; String b= new String ("Hello World&q ...

随机推荐

  1. Home Kit框架简介

    重要:本文是针对开发过程中使用的API或者技术的初步文档.苹果提供该文档旨在为开发者使用该技术和苹果产品上的编程接口提供帮助.这些信息可能会发生变化,依据该文档开发的软件应该使用最新的操作系统软件和最 ...

  2. 基于Eclipse的Android开发环境搭建

    1.  Java开发环境搭建 1.1  JDK下载安装 JDK(Java Development Kit )是针对Java开发人员发布的软件开发工具包.JDK 是整个Java的核心,包括了Java运行 ...

  3. iOS被开发者遗忘在角落的NSException-其实它很强大

    NSException是什么? 最熟悉的陌生人,这是我对NSException的概述,为什么这么说呢?其实很多开发者接触到NSException的频率非常频繁,但很多人都不知道什么是NSExcepti ...

  4. CentOS7安装OpenStack(Rocky版)-06.安装Neutron网络服务(控制节点)

    上一章介绍了独立的nova计算节点的安装方法,本章分享openstack的网络服务neutron的安装配制方法 ------------------- 完美的分割线 ----------------- ...

  5. TF-IDF算法(1)—算法概述

    假设现在有一篇很长的文章,要从中提取出它的关键字,完全不人工干预,那么怎么做到呢?又有如如何判断两篇文章的相似性的这类问题,这是在数据挖掘,信息检索中经常遇到的问题,然而TF-IDF算法就可以解决.这 ...

  6. Robot Framework 自定义库

    进入  python安装路径\Lib\site-packages 创建文件夹,库名 创建py文件,myclass.py 创建py文件,__init__.py 导入自定义库 遇到的问题: python版 ...

  7. xdoj 1044---炸红花 (话说 小时候经常玩这个被虐。。。。qwq)

    // 我真的好笨 只会枚举 话说那个ac的370b到底是怎么做的 /(ㄒoㄒ)/~~ #include <iostream> #include <algorithm> usin ...

  8. Thinkphp分页类使用

    3.2.2分页设置变化: $count = $pro->count(); //查询出总条数 $page=new \Think\Page($count,5); $page->rollPage ...

  9. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  10. PHP安装sqlsrv和memcache扩展步骤

    做了两天的实验才终于摸清楚如何将PHP连接上sqlserver数据库,以及怎样通过修改virtualhost文件来重定向,因为走得弯路比较多所以很想分享一下这次的心路历程. 第一步:安装wamp等类似 ...