数据类型

标量类型: int, float, string, bool

复合类型: array, object

特殊类型: null, resouce

整数类型int, integer

字符串类型string

单引号不会解析里面的内容

双引号会解析里面的内容

定界符 里面可以写大段文字不会解析

<<<’ABCD’

ABCD;

布尔类型:bool, boolean

在php中,其他各种数据,隐含转换为布尔值的时候,会当作false的有:

0

0.0

null

“”

“0”

array(); //空数组

未定义的变量 //当然要尽量避免

数组类型array

php中,数组的下标可以使用整数或字符串。

数字下标常说“索引号”,

字符串下标常说“键名”。

foreach( 数组名   as   下标变量$k  =>  值变量$v1 ){

//这里就是循环体,就可以使用两个变量$k, $v1

}

对象类型object

资源类型resource

含义:基本上都是指对外部数据的引用。(数据非php代码生成的)
不是PHP语言通过某种语法形式“创造”的数据,而是外部本来就有该数据(比如数据库,文件,图片),PHP只是通过某种语法(或方式)来对其进行某些操作。

空类型null

数据类型转换

字符串转换为数字从左边开始一直到第一个不是数字的字符结束

与类型相关的系统函数

var_dump():能够输出一个变量的完整信息。

getType():获取一个变量的类型名称,结果是一个单词(字符串),

setType();设置一个变量的类型,语法: setType(变量名,目标类型)

运算符

算术运算符

有以下几个:+   -   *    /    %    ++    --

注意:注意取余运算%,先取整,再取余

比较运算符:

包括:>   >=    <    <=    ==松散相等    !=    ===严格相等     !==

逻辑运算符:&&   ||   !

前提:都是针对布尔类型的值进行的运算,如果不是布尔,就会转换为布尔。

字符串运算符:

只有一个:  .

赋值运算符:

只有一个: =

条件(三目)运算符:

数组运算符

注意:php中,数组的元素的顺序,不是由下标(键名)决定的,而是完全由加入的顺序来决定。

联合(+):将右边的数组项合并到左边数组的后面,得到一个新数组。如有重复键,则结果以左边的为准

$v1 = array(1, 2,3, 4);

$v2 = array(5,6,7,8,9);

$r1 = $v1 + $v2; //结果只能是:array(1,2,3,4,9)

相等(==): 如果两个数组具有相同的键名和键值(可以顺序不同,或类型不同),则返回true

$v1 = array(1, 2,3, 4);

$v2 = array(4,2,1,3);

$v3 = array(3=>4,1=>2,0=>1,2=>3);

此时:$v1和$v2 相等吗?——不等

此时:$v1和$v3 相等吗? ——相等

不相等(!=, <>) :如果两个数组不是相等(==),则返回true

全等(===):如果两个数组具有相同的键名和键值且顺序和类型都一样,则返回true

不全等(!==) : 如果两个数组不是全等(===),则返回true

错误控制运算符:@

通常用于一个“可能”发生错误的表达式的前面——最常用的情形就是连接数据库。

$link = @mysql_connect(“localhost, ”’, “”,’”);

不过,在应用中,还会更进一步:

$link = @mysql_connect(“localhost, ”’, “”,’”) or die("数据库连接失败");

其中or也是逻辑运算符,通常只用在这种位置。

通常错误控制运算符用在程序开发测试阶段无法预测的可能出错的位置——一般是获取外部资源的时候。

运算符的优先级

要意识到运算符有优先级问题

括号最优先,赋值最落后(通常)

先乘除后加减

大致:算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)

常见不同类型的比较(主要指标量类型的数据)——非正常比较

正常比较——数字的大小比较

如果有布尔值,均转为布尔值比较:规则:true > false

否则,如果有数字,均转为数字比较:

否则,如果两边都是纯数字字符串,转为数字比较

否则,就按字符串比较

字符串的比较规则为:按字符的先后顺序依次一个一个比较,发现哪个大,则就表示整体大,后续不再比较

php基础语法(数据类型、运算符)的更多相关文章

  1. Java基础语法(3)-运算符

    title: Java基础语法(3)-运算符 blog: CSDN data: Java学习路线及视频 1.算术运算符 算术运算符的注意问题 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1. ...

  2. python基础语法(运算符及优先级)

    python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者 ...

  3. JavaScript01 js基础语法,数据类型

    JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...

  4. JavaSE入门学习6:Java基础语法之运算符和语句(上)

    继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...

  5. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  6. 第2章 Python基础语法 -- 数据类型

    2.2数据类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 2.2.1 标准数据类型 在内存中存储 ...

  7. Java基础语法:运算符

    Java 运算符(operator)根据功能分类: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof ...

  8. Java菜鸟之java基础语法,运算符(三)

    赋值运算符 (一)JAVA种的赋值运算符 = ,代表代表的等于,一般的形式是  左边变量名称   =     右边的需要赋的指或者表达式,如果左侧的变量类型级别比较高,就把右侧的数据转换成左侧相同的高 ...

  9. Java基础语法(二)<运算符>

    运算符: 下面的都是相关的练习: 1.键盘录入一个三位整数数,请分别获取该三位数上每一位的数值 import java.util.Scanner; public class Test02 { publ ...

  10. 【python基础语法】运算符&if条件语句&while循环&for循环(第5天课堂笔记)

    """ if语法规则: if 条件比较语句1: # 条件成立的时候 会执行的代码 elif 条件比较语句2: # 条件2成立的时候 会执行的代码 else: # 条件不成 ...

随机推荐

  1. MongoDB 3.4 分片集群副本集 认证

    连接到router所在的MongoDB Shell  我本机端口设置在50000上 mongo --port 接下来的流程和普通数据库添加用户权限一样 db.createUser({user:&quo ...

  2. write 系统调用耗时长的原因

    前一阵子公司一部门有人叫帮忙调查,说他们write系统调用基本上是个位数微秒就返回,或者说几十us,但偶尔出现几次write系统调用达到几百毫秒和情况.大家都知道,通过vfs进行write,都是写写到 ...

  3. [nodejs]npm国内npm安装nodejs modules终极解决方案

    此方案用于设置代理和修改镜像地址都不能解决问题使用 1.npm root 确认node模块的根文件夹,全局要加-g. osx同样是此命令,先清除缓存. npm cache clean C:\Users ...

  4. 关闭多个screen

    由于开了很多个screen同时工作,关闭是一个一个比较麻烦,写个命令在这以便日后想不起来时可以用到. 1.先看看有多少个screen    screen -ls |awk '/Socket/'|awk ...

  5. linux-Centos7安装php

    先安装相关依赖包 yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjp ...

  6. hadoop1.2.1伪分布模式安装教程

    1:软件环境准备 1.1Hadoop: 我们使用hadoop Release 1.2.1(stable)版本,下载链接: http://mirrors.ustc.edu.cn/apache/hadoo ...

  7. 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)

    卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...

  8. C++:哈希

    1.基本概念 哈希一般用来快速查找,通过hash函数将输入的键值(key)映射到某一个地址,然后就可以获得该地址的内容. 同样,如果要储存一对值(键值和数据),则也是通过hash函数获得地址来存入.见 ...

  9. MySQL Cluster --01

    [MySQL Cluster] MySQL Cluster 是MySQL 官方集群部署方案, 支持自动分片.读写扩展:通过实时备份冗余数据.适合于分布式计算环境的高实用.高冗余版本,是可用性最高的方案 ...

  10. WAF的实现

    文章来源:http://danqingdani.blog.163.com/blog/static/1860941952014101723845500/ 本篇文章从WAF产品研发的角度来YY如何实现一款 ...