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 ...
随机推荐
- HDFS核心设计
一.HDFS核心设计 数据块(block) 数据块是HDFS上最基本的存储单位 HDFS块默认大小为128M 对块进行抽象会带来的好处 一个小文件的大小可以大于网络中任意一个磁盘的容量 ...
- Beta阶段第三次冲刺
Beta阶段第三次冲刺 严格按照Git标准来,组员有上传Git的才有贡献分没有的为0 代码签入图 1.part1 -站立式会议照片 2.part2 -项目燃尽图 3.part3 -项目进展 1.正在进 ...
- Python sys.md
sys-System-specific Configuration Interpreter Settings sys包含用于访问解释器的编译时或运行时配置设置的属性和函数. Build-time Ve ...
- Spring-IOC XML 配置多个相同 ID 的 bean 加载分析
我们现在仍以 xml 中配置 bean 的方式来 使用 Spring ,不考虑注解和扫包 配置相同id 的bean 定义一个 bean 类 TransactionManager /** * @auth ...
- mpvue 应用 Vant Weapp框架开发微信小程序
今天在使用mpvue开发微信小程序的过程中需要实现一个底部上拉选择列表的功能,因为之前做过H5微信公众号的开发,使用的就是有赞的Vant-ui,所以第一时间就想到了有赞的Vant Weapp UI框架 ...
- C# ActiveX 网页打包验证自动升级
原文地址:http://www.cnblogs.com/yilin/p/csharp-activex.html 注意事项:Win10下需要设置兼容模式,F12仿真切换到IE6-8(版本参考——BT90 ...
- numpy库数组拼接np.concatenate的用法
concatenate功能:数组拼接 函数定义:numpy.concatenate((a1, a2, ...), axis=0, out=None)
- Ubuntu安装 Alisql编译安装步骤:
github地址: https://github.com/alibaba/AliSQL 一.直接git下载保存到本地: git clone https://github.com/alibaba/Ali ...
- Android 将系统的back键模拟成为home键的功能
@Override public void onBackPressed() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFl ...
- 数据结构与算法 基于c语言篇
学习数据结构与算法走向深蓝之路 第一章:数据结构与算法概念型 数据结构:数据之间的相互关系,即是数据的组织形式. 基本组成:{ 数据:信息的载体 数据元素:数据基本单位: } 其结构形式有四种: 1, ...