位置: 编程技术 - 正文

PHP 第二节 数据类型之字符串类型(php的数据类型主要有哪几种?)

编辑:rootadmin

推荐整理分享PHP 第二节 数据类型之字符串类型(php的数据类型主要有哪几种?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php的数据类型主要有哪几种?,php的数据类型有哪些?,php数据结构,php如何操作数据库,php处理数据,php处理数据,php的数据类型有哪些?,php数据表,内容如对您有帮助,希望把文章链接给更多的朋友!

PHP中一个字符串可以通过下面的4种方式来定义:

单引号 双引号 heredoc 语法结构 nowdoc 语法结构 (自PHP 5.3.0以后) 单引号

定义一个字符串 的最简单的方法是用单引号把它包围起来 (标点符号 ')。

如果想要输出一个单引号,需在它的前面加个反斜线 ()。在单引号前或在字符串的结尾处 想要输出反斜线,输入两条 (\)。注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出。

Note: 不像双引号 和heredoc语法结构, 在单引号字符串中的变量 和特殊含义的字符将不会被替换。

如果字符串是包围在双引号(")中, PHP将对一些转义字符进行解析,和单引号字符串一样, 如果输出转义字符之外的字符,反斜线会被打印出来。 PHP5.1.1以前,{$var} 中的反斜线还不会被显示出来。

用双引号定义的 字符串最重要的特征是变量会被执行。

Heredoc结构

第三种定义字符串的方法是用heredoc句法结构:<<<。在该提示 符后面,要定义个标识符,然后是一个新行。接下来是字符串本身,最后要用前面定义的标识符作为结束标志。

结束时所引用的标识符必须在一行的开始位置, 而且,标识符的命名也要像其它标签一样遵守PHP的规则:只能包含 字母、数字和下划线,并且不能用数字和下划线作为开头。

Warning要注意的是结束标识符这行除了 可能有一个分号(;)外,绝对不能包括 其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或tabs。更重要的是结束标识符的前面必须是个被本地 操作系统认可的新行标签,比如在UNIX和Mac OS X系统中是n ,而结束标识符(可能有个分号)的后面也必须跟个 新行标签。

如果不遵守该规则导致结束标签不“干净”,PHP将认为它不是结束标识符而继续寻找。如果在文件结束前也没有找到一个正确的结束标识符,PHP将会在最后一 行产生一个句法错误。

Heredoc结构就象是没有使用双引号的双引号字符串, 这就是说在heredoc结构中引号不用被替换,但是上文中列出的字符 (n等)也可使用。 变量将被替换,但在heredoc结构中字符串表达复杂变量时,要格外小心。

Nowdoc结构

就象heredoc结构类似于双引号字符串,Nowdoc结构是类似于单引号字符串的。Nowdoc结构很象heredoc结构,但是 nowdoc不进行解析操作 。 这种结构很适合用在不需要进行转义的PHP代码和其它大段文本。与SGML的 <![CDATA[ ]]> 结构是用来声明大段的不用解析的文本类似,nowdoc结构也有相同的特征。

一个nowdoc结构也用和heredocs结构一样的标记 <<<, 但是跟在后面的标志符要用 单引号括起来,就像<<<'EOT'这样。heredocs结构的所有规则也同样适用于nowdoc结 构,尤其是结束标志符的规则。

变量解析

当字符串用双引号或heredoc结构定义时,其中的变 量将会被解析。

这里共有两种语法规则:一种简单 规则,一种复杂规 则。简单的句法规则是最常用和最方便的, 它可以用最少的代码在一个字符串中加入变量, 数组 值,或 对象属性。

复杂的句法规则是在PHP4以后加入的,被花括号包围的表达式是其明显标记。

简单句法规则

当PHP解析器遇到一个美元符号 ($) , 它会和其它很多解析器一样,去尽量形成一个合法的变量名。可以用花括 号来明确变量名的界线。

如果想要表达更复杂的结构,请用复杂句法规则。

复杂句法规则

复杂句法规则不是结构复杂而命名,而是因为它可以使用复杂的表达式。

任何想用在字符串中标量变量,数组变量或对象属性都可使用这种方法。 只需简单地像在字符串以外的地方那样写出表达式, 然后用花括号{和 }把它括起来。 由于 { 无法被转义,只有 $ 要紧挨着 {才会被认出来,可以用 {$ 来表达 {$。

存取和修改字符串中的字符

PHP 第二节 数据类型之字符串类型(php的数据类型主要有哪几种?)

字符串中的字符可以通过一个以0为开始的,用类似数组结构中的方括号包含对应的数字来查找和修改,比如 $str[], 可以把 字符串想像数组 。 函数 substr() 和 substr_replace()可以用来实现多于一个字符 的情况。

Warning方括号中的数字超出范围将会产生空白。非整数类型被转换成整数,非整数类型转变成整数,非法类型会产生一个 E_NOTICE级别错误,负数在写入时会产生一个E_NOTICE,但读 取的是空字符串。被指定的字符串只有第一个字符可用,空字符串用指定为空字节。

有用的函数和操作符

字符串可以用'.' (点) 操作符连接起来, 注意 '+' (加号) 操作符没有 这个功能。

对于字符串的操作有很多有用的函数。

可以参考 字符串函数 了解大部分函数, 高级的查找&替换功能可以参考 正则表达式函数 或 Perl类型的正则 表达式函数。

另外还有URL字符串的函数, 也有加密/解密字符串的函数。 (mcrypt 和 mhash).

最后,可以参考 字符类型函数。

转换成字符串

一个值可以通过在其前面加上(string)或用strval()函数来转变成 字符串。 在一个需要字符串的表达式中,字符串会自动转变,比如在使用函数 echo 或 print 时, 或在一个变量和一个 字符串 进行比较时,就会发生这种转变 类型 和 类型转换 可以更好的解释下面的事情,也可参考函 数 settype() 。

一个boolean TRUE 值被转换成 字符串"1"。 Boolean FALSE 被转换成"" (空的字符串)。 这种转变可以在 boolean 和 字符串 之间往返进行。

一个 整数 或 浮点数 被转变为数字的字面样式的字符串 (包括 浮点数中的指数部分),使用指数计数法的浮点数 (4.1E+6)也可转变。

数组转换成 字符串 "Array",因此, echo 和 print c无法显示出该数组的值。如果显示一个数组值,可以用 echo $arr['foo']这种结构,更多内容见下文。

在PHP 4中对象被转换成 字符串 "Object", 为了调试原因需要打印出对象的值,方法见正文。为了得到对象的类的名称,可以用 get_class() 函数。 在PHP5中, 可以用 __toString 。

资源总会被转变成"Resource id #1"这种结构的字符串 , 其中的 1 是PHP分配给该资源的独特数字。不用过多关注这种结构,它马上要转变了。为了得到一个 resource类型,可以用函数 get_resource_type()。

NULL 总是被转变成空的字符串。

如上面所说的,直接把数组, 对象或 资源 转换成 字符串 不会得到超出其自身的更多信息。可以使用函数 print_r() 和 var_dump() 列出这些类型的内容。

大部分的PHP值可以转变成 字符串s 来长期储存,这被称作串行化,可以用函数 serialize() 来实现。 如果PHP引擎设定支持 WDDX , PHP值也可储存成XML格式。

字符串转变成数字

当一个字符串被用在了一个数字的环境中,结果和类型如下:

如果字符串没有包含 '.','e'或'E' 并且数字值符合整数类型的限定 ( PHP_INT_MAX定义的), 这个 字符串 可被认定是一个 integer, 在其它情况下被认定为一个float。

字符串的开始部分给定了它的值,如果 字符串 以合法的数字开始,这个数字可直接使用。 否则,值就是 0 (零)。 合法数值由符号,后面跟着一个或多个数字(可能有个小数点),再跟着可选的指数符号如'e' 或 'E',后面跟着一个或多个数字。

不要想像在C语言中的那样,通过一个整数转换得到相应字符,使用函数 ord() 和 chr() 实现ASCII码和字符间的转换。

PHP 第二节 数据类型之数组 PHP中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量)

PHP 第二节 数据类型之转换 在下列情况下一个变量被认为是NULL:被赋值为NULL。尚未被赋值。被unset()。NULL类型只有一个值,就是大小写不敏感的关键字NULL(你可以写成NULL,也可

PHP 第三节 变量介绍 变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的

标签: php的数据类型主要有哪几种?

本文链接地址:https://www.jiuchutong.com/biancheng/284615.html 转载请保留说明!

上一篇:php array_map()数组函数使用说明(php array_map 和 foreach性能)

下一篇:PHP 第二节 数据类型之数组(php的数据类型主要有哪几种)

  • 金融企业 税
  • 票据承兑和贴现市场上最主要的交易对象是( )
  • 所得税的利润总额怎么计算
  • 企业所得税营业税金及附加包括
  • 会计差错更正流程
  • 税务机关对企业实施特别纳税调整,涉及企业向境外
  • 发票作废了可以重新领吗
  • 佣金和手续费税前扣除比例
  • 固定资产盘亏账务处理例题
  • 公司网站建设费入什么明细科目里
  • 个人非货币性资产出资 个人所得税
  • 领购增值税专用发票
  • 国税的申报表季报本月数如何填写?
  • 地下商铺出售产权归属
  • 红字记账的四种登记方式
  • 小规模纳税人需要汇算清缴吗
  • 股权转让企业所得税如何申报
  • 以前的员工怎么交社保
  • 专家费收取多少合适
  • 旅游业小规模纳税人亏损怎么填报
  • u盘如何进行杀毒
  • 开机进入睡眠模式按哪个键解除
  • 股权交易的重要性
  • php stl
  • 销售退回的增值税怎么处理
  • pytorch入门教程(非常详细)
  • 国有企业收到财政补助如何做账
  • php生成随机字母数字代码
  • Google I/O 2023 大会上发布了一些令人兴奋的技术和产品,让我们一起来看看吧!
  • js fetch api
  • php 抓取别的网站的内容
  • 微信开发怎么实现
  • yolov5m
  • 淘宝镜像网站
  • node-gyp版本
  • 去年的所得税计提多了怎么做分录
  • 库存品处理的方式
  • python如何获取列表元素
  • 印花税补交会怎样
  • 个税 全年累计
  • 货币基金分红交多少税
  • 税务怎么认定虚列工资
  • 企业利润分配的含义
  • 网站维护费用
  • 企业注销后账目需要保留多少年
  • 结转损益主营业务收入在借方
  • 社保局退回生育津贴分录摘要
  • 诉讼费可以退回私账嘛
  • 建筑行业每月报税
  • 原材料暂估入库是什么意思
  • 月末需要做的会计分录
  • 销售出库和产品入库有什么关系
  • 资金占用费如何计算企业所得税
  • 中国的法律依据是什么
  • 为什么一般纳税人可以选择简易计税
  • 施工企业主营业务收入二级科目有哪些
  • 应收账款周转率计算公式
  • win10怎么用xp经典主题
  • freebsd操作命令
  • linux备份系统命令
  • windows7的关闭方法
  • 64位的win10更新安装补丁KB3105213失败总是重复安装该怎么办?
  • win7运行老游戏方法
  • linux端口流量监控
  • win10 edge浏览器怎样添加信任站点
  • OpenGL Tips: 在Visual C++中调用FreeGLUT
  • 用css制作网页的步骤
  • unity-3d
  • jquery常见的选择器
  • Node.js中的事件循环是什么意思
  • unity如何导入资源文件
  • android网络开发技术答案形考任务五
  • js遍历foreach
  • springmvc接收json需要配
  • 工会经费填错了怎么办
  • 东莞房地产协会副会长
  • 国税发票如何查询真伪
  • 企业所得税涉税申报情况进行核查
  • 办税服务厅是税收工作的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设