数组:

array() 函数用于创建数组

三种数组类型:转自:http://www.w3school.com.cn/php/php_arrays.asp

1、索引数组 - 带有数字索引的数组

例子:

$cars=array("Volvo","BMW","SAAB");
count() 函数用于返回数组的长度(元素数)
可以使用for循环去读去索引数组中的内容

2、关联数组 - 带有指定键的数组

关联数组是使用您分配给数组的指定键的数组。

例如:

有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
可以使用foreach循环去读去关联数组中的内容

3、多维数组 - 包含一个或多个数组的数组

例如:

$cars = array(array("Volvo",22,18),array("BMW",15,13),array("Saab",5,2),array("Land Rover",17,15));
可以使用for循环嵌套去读去多维数组中的内容

list() 函数用数组中的元素为一组变量赋值,该函数只用于数字索引的数组,且假定数字索引从 0 开始。

字符串:

PHP的字符串有三种定义方式:单引号 、双引号 、定界符 

转载:http://stefan321.iteye.com/blog/1014386

1、单引号:指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来。 在被单引号括起来的字符串中,要再表示一个单引号,需要用反斜线(\)转义,和很多其它语言一样。如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。 在单引号括起来的字符串中,所有的其他特殊字符,都将被完整的表示出来,也就是说:单引号字符串中出现的变量和转义序列不会被变量的值替代。

2、双引号:如果用双引号(")括起字符串,PHP 可以解析更多特殊字符的转义序列:\n (换行 LF 或 ASCII 字符 0x0A(10))、\r (回车(CR 或 ASCII 字符 0x0D(13))、\t (水平制表符 HT 或 ASCII 字符 0x09(9))、\\ (反斜线) 、\$ (美元符号) 、\" (双引号) 、\[0-7]{1,3} (此正则表达式序列匹配一个用八进制符号表示的字符)、\x[0-9A-Fa-f]{1,2} (此正则表达式序列匹配一个用十六进制符号表示的字符 ),除了这些转义符,如果试图转义任何其它字符,反斜线本身也会被显示出来!在 PHP 5.1.1 之前,\{$var} 中的反斜线不会被显示出来。

当用双引号或者定界符指定字符串时,其中的变量会被解析。 有两种语法,一种简单的和一种复杂的。 
  简单语法最通用和方便,它提供了解析变量,数组值,或者对象属性的方法(如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名。如果想明示指定名字的结束,则用花括号把变量名括起来。 同样也可以解析数组索引或者对象属性。对于数组索引,右方括号(])标志着索引的结束。对象属性则和简单变量适用同样的规则,尽管对于对象属性没有像变量那样的小技巧)。 
  复杂语法是 PHP 4 引进的,可以用花括号括起一个表达式(事实上,用此语法可以在字符串中包含任何在名字空间的值。仅仅用和在字符串之外同样的方法写一个表达式,然后用 { 和 } 把它包含进来。因为不能转义“{”,此语法仅在 $ 紧跟在 { 后面时被识别(用“{\$”来得到一个字面上的“{$”)。例如:${test},{$test['t']['e']['s']['t']},{$test->test})。

  3、定界符:另一种给字符串定界的方法使用定界符语法(“<<<”),它是 PHP 4 中加入的。。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。 结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。 重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。 如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。 不能用定界符语法初始化类成员。用其它字符串语法替代。 
   定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。

注意:PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。

转义字符:

转义字符代码 转义字符的含义
\ " 双引号
\ ' 单引号
\ \ 反斜杠
\ n 换行符
\ r 回车符
\ t 制表符
\ $ 美元符号

PHP基础知识(三)相关推荐

  1. (六)JS基础知识三(走进作用域和闭包)【三座大山之二,不会闭包,基本不会通过】

    JS基础知识三(作用域和闭包) 提问 作用域 自由变量 闭包 this 提问 this的不同应用场景,如何取值 手写bind函数 实际开发中闭包的应用场景,举例说明 创建10个a标签,点击的时候弹出对 ...

  2. CSS基础知识---三种选择器

    CSS基础知识---三种选择器 选择器 标签选择器 id选择器 class选择器 全部代码 选择器 标签选择器 id选择器 class选择器 标签选择器 选择器优先级:id>class>标 ...

  3. C# 基础知识 (三).主子对话框数值传递

    在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...

  4. 三校生计算机word基础知识,三校生计算机第一次月考计算机基础、word.doc

    三校生计算机第一次月考计算机基础.word 云南省高等职业技术教育招生考试试题 计算机基础.word基础知识(9月考试卷) 姓名:_ __ ____ 得分:____ ___ 一.单项选择题(在每小题给 ...

  5. C语言基础知识(三)-程序设计结构、数组、字符串处理函数

    本文是C语言的基础知识,主要讲解三种程序设计结构.数组.字符串和字符数组.数组元素查询以及字符串处理函数. 程序结构设计 包括C语言在内的几乎任何编程语言都支持以下三种程序设计结构,它们分别是: 顺序 ...

  6. Dapper基础知识三

    在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. Dapper,当项目在开发的时候,在没有必要使用依赖注入的时候,如何做 ...

  7. Framebuffer基础知识(三十)

    1.Framebuffer应用编程   在Linux系统中通过Framebuffer驱动程序来控制LCD.Frame是帧的意思,buffer是缓冲的意思,这意味着Framebuffer就是一块内存,里 ...

  8. Profinet协议基础知识(三)

    三.PROFINET IO设备 1.PROFINET IO设备类型 PROFINET IO设备可分为Device(从站).Controller(主站)与Supervisor(监视器). PROFINE ...

  9. 工业通讯 | Profinet协议基础知识(三)

    三.PROFINET IO设备 1.PROFINET IO设备类型 PROFINET IO设备可分为Device(从站).Controller(主站)与Supervisor(监视器). PROFINE ...

  10. left join on多表关联_资深DBA整理MySQL基础知识三:迅速理解MySQL的关联和子查询...

    接上篇: 上篇主要介绍select的基本的构成,和一些简单常用条件语句.这篇着重说几种常用的多表关联关系. 前面入门只说了一种表的简单查询.但在实际工作几乎不会出现单表操作的情况,大多数还是多表的连接 ...

最新文章

  1. [云炬python3玩转机器学习笔记] 3-9Numpy中的arg运算
  2. 朱江洪功成身退 朱董配解体谁主格力(图)
  3. laravel5.6 使用指定字段作为key_MyRocks TTL使用姿势及Bugfix
  4. Django之ORM的增删改查
  5. nodejs基础-函数
  6. 信号与系统 matlab综合实验 pdf,《信号与系统——MATLAB综合实验》 谷源涛-第三讲.pdf...
  7. SpringBoot-Learning-作者:翟永超
  8. 不要找我了,我要去盘核桃了!
  9. 宁录哨兵机器人_漫威漫画里奥创、灭霸、哨兵机器人、天启谁更厉害?
  10. 繁华落尽——王思聪的熊猫直播之死,是腾讯对360的又一次胜利
  11. 冬季冷色调效果Lr预设
  12. 第147篇 笔记-预言机(Oracle)
  13. 如何在Vue3中使用router
  14. 奥密克戎“后遗症”,比病毒更可怕
  15. android 蓝牙发送失败怎么办,【报Bug】蓝牙模块CC2640R2F 安卓发送数据包第二次发送不成功{code:10007,message:property not support}...
  16. PLSQL-Initialization error
  17. Ubuntu18.04编译c语言程序
  18. 激光抗大气湍流传输研究取得进展
  19. (6CBIR模拟问题)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署...
  20. shmget - 共享内存

热门文章

  1. JAVA碰撞检测无效_碰撞检测不适用于Pygame中的精灵
  2. Java动态代理详解(Proxy+InvocationHandler)
  3. SpringBoot+Redis防止接口重复提交
  4. synchronousqueue场景_java并发队列之SynchronousQueue
  5. 给定关键字不在字典中怎么解决_什么是字典?我们为什么要学它?你不知,现在你只需1分钟就可学会...
  6. 二元一次函数最值问题_高中数学必考知识点:二元一次不等式(组)及简单的线性规划问题...
  7. linux添加用户命令_Linux useradd命令添加新用户图文详解
  8. python怎么保存文件代码_Python文件读写保存操作的实现代码
  9. #时间预测算法_基于超级学习者机器学习算法预测ICU患者急性低血压发作
  10. ESP32cam蓝牙模块与arduino uno通信实验