PHP学习 类型 变量 常数 运算符
PHP支持下列8种类型
标量类型 scalar type
整数 integer
浮点数 float double
布尔 boolean
字符串 string
特殊类型 special type
NULL
资源 resource
符合类型 compound type
数组 array
对象 object
整数
echo (10); //显示十进制整数10
echo (010); //显示八进制整数8
echo (0x10); //显示十六进制整数16
echo (0b10); //显示二进制整数2
echo PHP_INT_SIZE; //表示整数integer值的字长
echo PHP_INT_MAX; //显示最大整数
echo PHP_INT_MIN; //显示最小整数
浮点数 float double
echo (-123.456);
echo (+12.3);
echo (0.123456789012342);
echo (1.2345E+2);
echo (-1223.45e-3);
布尔 boolean 用来表示TRUE或者FALSE两种值 没有字母大小写之分
当我们将布尔数据转化为值类型时 TRUE会转换成1 FALSE会转化成0
当我们将布尔数据转化为字符串类型时 TRUE会转换成"1" FALSE会转化成空字符串""
当我们将非布尔数据转化为布尔类型时 只有下列数据会转成FALSE,其他数据均会转化成TRUE,包括所有负数以及任何有效资源
整数0
浮点数0.0
空字符串"" 与字符串"0"
没有元素的数组
没有成员的对象
特殊类型NULL(包括尚未设置的变量)
字符串
单引号字符串 single quoted string
双引号字符串 double quoted string
heredoc 语法
nowdoc 语法
single quoted string
echo ('happy birthday!'); //显示 happy birthday
echo ('C:\\Win'); //显示C:\Win
echo ('I am \'Jean\'.'); //显示 I am 'Jean' \为转义字符 会被解析为'
double qouted string
echo ("I am \"Jean"\.");
$str = "Mary";
echo ("Hi.$str"); //显示str 会被解析为字符串 Mary
echo (\u{00A9}); //显示UTF-8字符 U+00A9表示© 符号
echo (\u{A9}); //显示UTF-8字符 U+00A9表示© 符号 开头的0可以省略
英语学习 parser 解析器
heredoc语法
php 中的 heredoc技术是php用来引用字符串的一种方式
这种表示法有固定的格式 一开始是<<< 运算符 接着就是标识符和换行 然后是字符串
最后以同一个标识符结尾 标识符的命名规则和变量相同
<?php
echo <<< STR1
My name is Jean <br>
Happy birthday to you!
STR1;
?>
nowdoc语法 针对单引号字符串的
here语法会进行变量解释,而newdoc语法不会
<?php
$name = "Jean";
echo <<<'STR1'
My name is $name.<br>
Happy birthday to you!
STR1;
?>
我们可以使用数组 array的概念存取字符串中的字符,而且键 key的起始值为0 举例来说 假设 $str = "Day"; 那么第一个字符为$str[0] 即D
第二个字符为$str[1],即a 其他以此类推如果要变更字符串的字符 假设要将第一个字符更改为P 那么可以写成$str[0] = "P"; $str的值就变成了"Pay"
NULL
凡是尚未设置值得变量 值都赋值为常数NULL的变量和值被unset的函数清除的变量均会被视为NULL
资源
资源 resource 代表的是一种特殊值 用来指向PHP程序的外部资源 例如 数据库 图形图像 等
$my_resource = mysql_connect();
一般来说 我们并不需要手动释放资源 PHP ZEND Engine 会自动管理除了数据库之外的所有资源,当我们要是手动释放资源的时可以将指向资源的变量设置为NULL
$my_resource = NYLL;
类型转换
PHP会视实际情况自动转换类型
检查类型
PHP提供了可以检查数据类型的几个函数
gettype(arg) - 返回参数arg的类型
is_integer(arg) is_int(arg) in_long(arg) 若参数为整数类型 就返回true 否则返回false
is_float
is_bool
is_string
is_null
is_array
is_resource
is_object
is_numberic
is_scalar
明确转换类型
echo (int)TRUE //转型表达式(int) 将true转化为整数1,故显示1
float double real bool boolean string array object
使用settype(var,type)
$var = TRUE;
settype($var,"integer");
echo $var;
使用intval(var) floatval(var) strval(var) 将参数分别转换为integer float string 类型
变量命名规则
PHP区分大小写
$
第一个字符可以是英文字母和下划线
PHP有自定义变量和预定义变量 上面说的是自定义变量 下面是预定义变量
$_SERVER
$_ENV
$_COOKIE
$_GET
$_POST
$_FILES
$php_errormsg 前一个错误信息
$_REQUEST Request变量
$_SESSION Session变量
$_GLOBAL Global变量
PHP属于动态类型的程序设计语言 变量使用前无需声明类型 同时可以在运行期间视实际情况动态转换类型
一般赋值
$myName = "小丸子"; //变量myName的类型为string
引用赋值
$var1 = "John";
$var2 = &$var1;
$var2 = "Mary";
echo $var2; //显示Mary
可变变量
$var = "Happy";
$$var = "Birthday";
echo $var; //显示变量var的值 Happy
echo $$var; //显示变量Happy的值 Birthday
echo $Happy; //显示变量Happy的值 Birthday
作用域 scope
全局变量 global variable
函数 function
局部变量 local variable
变量处理函数
isset(arg) 若参数arg的值不是NULL 返回true 否则false
unset(arg) 清除参数arg的值 使之成为NULL
empty(arg) 若参数arg的值是空的,返回true 否则返回false 所谓空的 整数0 浮点数0.0 空字符串 "" 字符串"0" 空数组 NULL FALSE var $var 在类内声明并且尚未设置值的变量
intval(arg) 返回参数arg的整数值
floatval(arg)返回参数arg的浮点数
常数 constant
php提供用户自定义常数和预定义常数两种
自定义
define(name,value[,case_insensitive])
define("PI",3.14);
define("X",10*5);
define("Y",X+2);
预定义的常数 predefined constant
PHP_INT_SIZE
PHP_INT_MAX
...
魔法常数 magic constant
_LINE_ 文件的行数
_FILE_ 完整的路径与文件名
_DIR_ 文件所在的目录
_FUNCTION_ 函数名称
_CLASS 类型名
_METHOD 方法名称
_NAMESPACE_ 命名空间名称
运算符
算术运算符 - + * / % **
字符串运算符 连接字符串 小数点.
递增递减运算符++ -- ++$a $a++ --$a $--;
比较运算符 == != <> < > <= === !== <=> ??
位运算符
逻辑运算符 !and or xor && ||
赋值运算符 = += -+ *= /= %=
条件表达式 ?: 10>2?"YES":"NO"; 结果true返回第一个表达式的值,否则返回第二个表达值的值
错误控制运算符 $a = @file("c"\hellop.php");
执行运算符 ``的用途是执行shell命令
运算符优先级 加括号改变优先级
php的输出函数
echo str1[,str2,[,str3...]]
echo '<i>Hello!</i><br>';
echo 'happy','birthday','<br>';
echo '<a href="default.htm">回首页</a>';
print str 只接受一个参数 并且print有返回值
print 'hello';
var_dump(var1[,var2[,var3...]]) 输出一个或多个变量
var_dump ($a,$b,$c);
PHP学习 类型 变量 常数 运算符的更多相关文章
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- C#.NET学习笔记7--11---算术运算符,变量赋值,变量的交换,布尔表达式1,布尔表达式2
C#.NET学习笔记7---算术运算符 2013/9/6 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com 1.Consol ...
- Objective-C中的数据类型、常量、变量、运算符与表达式
1.Objective-C中的数据类型: Objective-C中的基本数据类型有:int.char(-128-127).float.double.BOOL,Byte(0-255) Id类型相当于(等 ...
- python3 第五章 - 什么是变量、运算符、表达式
在读这一章时,运算符的内容比较多,不要去死记.现在记不住也没有关系,现在只要有这个印象.在后面的学习中,会慢慢加深理解,在理解中去记就容易得多了 1.变量 什么是变量?通俗的讲,就是存储在内存中可以变 ...
- JavaScript:学习笔记(6)——New运算符
JavaScript:学习笔记(6)——New运算符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例. 快速开始 当你使用new关键字的时候,会 创建一个新的对象 将th ...
- Java基础(变量、运算符)
第2天 Java基础语法 今日内容介绍 u 变量 u 运算符 第1章 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为 ...
- GO语言基础(结构+语法+类型+变量)
GO语言基础(结构+语法+类型+变量) Go语言结构 Go语言语法 Go语言类型 Go语言变量 Go 语言结构 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 &a ...
- Java基础语法01——变量与运算符
本文是对Java基础语法的第一部分的学习,包括注释:标识符的命名规则与规范:变量的数据类型分类以及转换:以及六种运算符(算术.赋值.比较.逻辑.三元和位运算符).
- js学习之变量、作用域和内存问题
js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...
随机推荐
- mysql host'XXX' is not allowed to connect to this mysql server
错误的原因一般是没有添加 IP可远程的权限. 首先以 root 帐户登陆 MySQL 1.在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin ...
- Alpha冲刺报告(11/12)(麻瓜制造者)
今日已完成 邓弘立: 整合了主页的功能 符天愉: 大致上完成了留言部分的添加,删除,查询功能 江郑: 测试了剩余四个查询,一个添加接口,也搞定了接口说明. 刘双玉: 测试了剩余四个查询,一个添加接口, ...
- github与本地电脑关联配置
参考文章:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137438585 ...
- 详解--从地址栏输入url到页面展现中间都发生了什么?
这是一个综合性很强的问题,个人理解包含以下七个基本点: 1.在浏览器地址栏输入url并按下回车. 2.浏览器检查当前url是否存在缓存和缓存是否过期. 3.域名解析(DNS解析url对应的ip). 4 ...
- linux IP 命令使用举例(转)
ip 1.作用ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命 ...
- asdm不能登录问题;浏览器必须是ie,不能是chrome或者firefox;java的版本,尤其是安全等级和例外需要调整
asdm不能登录问题:浏览器必须是ie,不能是chrome或者firefox;java的版本,尤其是安全等级和例外需要调整
- oracle偏爱hostname
记住: 只要是在使用oracle他家的产品,比如oracle database , weblogic :或者诸如此类,等等,等等,随便别的什么东西 首先要查改: /etc/hosts 127.0.0. ...
- 如何删除VS2015中的OpenCV的配置
首先,在C盘--用户--AppData--Local--Microsoft--MSBuild--v4.0 路径下,找到 Microsoft.Cpp.Win32.user 文件,用记事本打开,如下 ...
- JS省市区联动效果
省市区联动下拉效果在WEB中应用非常广泛,尤其在电商网站最为常见.一般使用Ajax实现无刷新下拉联动.利用jQuery,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 首先我们可以看 ...
- sphinx搜索 笔记
架构图: 安装sphinx,见文章http://my.oschina.net/ptk/blog/495435 sphinx关键的配置文件.在里面写查询的sql. 两个关键命令:indexer生成查询索 ...