PHP学习笔记(二) ---- PHP数据类型
PHP __数据结构类型
一、php 中的八种数据类型
1.四种标量类型
Boolean (布尔类型): true or false,多用于条件判断。
实例:
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
Int(整数类型) : 整数是没有小数的数字。
整数规则:整数必须有至少一个数字(0-9);整数不能包含逗号或空格;整数不能有小数点;整数正负均可;可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前
缀是 0)。
实例:
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
String (字符串型):字符串是字符序列,使用引号定义,也可以是使用定界符定义
实例:
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
Float (浮点类型): 就是有小数点或指数形式的数值。但不要进行浮点型数据的比较。
实例:
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
2.两种符合类型
Array(数组类型):实现了单个变量可以存储多个值的情况;数组分为索引式(索引为数值组成)和关联式(索引为字符串组成)两种数组。
实例:
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
Object(对象类型):对象是存储数据和有关如何处理数据的信息的数据类型。在 PHP 中,必须明确地声明对象。首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。然后我们在对
象类中定义数据类型,然后在该类的实例中使用此数据类型。
实例:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
3.两种特殊类型
Resource (资源类型)
Null (空型):特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。可以通过把值设置为 NULL,将变量清空。
实例:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
二、PHP 中变量为 null 的情况
<?php
//以下几种情况变量的值为null空 //1.变量赋值为null时,打印为空
$a = null; //2.被销毁的变量,打印时为空
$b = 100;
unset($b);
var_dump($b); //3.直接打印一个不存在的变量时,也为空
var_dump($c);
三、PHP 中数据类型自动转换为 false 情况
<?php
//自动类型转换,自动转换为布尔型false的情况 $a = false; //布尔型
$a = 0; //整型
$a = 0.0; //浮点型
$a = ""; //字符串型
$a = "0";
$a = array(); //数组型
$a = null; //空型
四、PHP 中数据类型自动转换为数值
<?php
// 自动转换为数值的情况
$num1 = true;
$num2 = 10;
var_dump($num1 + $num2); // 11 $num1 = "1234abcd";
$num2 = 1234;
var_dump($num1 + $num2); // 2468 $num1 = null;
$num2 = 10;
var_dump($num1 * $num2); // 0
五、强制类型转换
<?php
/*强制类型转换*/ //改变了原变量的类型
$a = 0;
var_dump($a);
settype($a,"boolean");
var_dump($a); //不改变原变量类型的强制类型转换
$b = "canglaoshi";
$c = (integer) $b;
var_dump($c);
var_dump($b);
六、PHP 中一些有助于调试代码的函数
gettype( ) :获取某变量的数据类型
isset ( ) :判断某变量是否被设定(存在)
empty( ) :判断某变量是否为空(不存在)
is_bool( ) :判断某变量数据类型是否为布尔型
is_String( ):判断某变量数据类型是否为字符串型
。。。
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
echo : PHP 语法,以字符串形式输出结果,不能对数组、对象操作
print : 只能打印出简单类型变量的值(如int,string) ,输出结果速度较 echo 要慢
print_r : 可以打印出复杂类型变量的值(如数组,对象),仅为结果。
var_dump: 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
七、PHP 中的引用变量、可变变量以及常量
实例:
<?php
//可变变量
$a = "b";
$$a = "c";
$$$a = "d";
$$$$a = "e";
echo $d."<br/>"; // e //引用变量
$a = "hello world!";
$b = &$a;
$b = "你好 世界!";
unset($a);
echo $b; // hello world //定义一个常量
define('NAME','haibo');
define('SEX','women');
define('AGE','18'); //使用一个常量
echo NAME; //常量信息不能被覆盖!
// define('NAME','hongze'); //常量定义的内容不能被销毁
// unset(NAME); //判断某个常量是否被定义
var_dump(defined('CLASS')); // false
八、PHP中已定义的系统常量
样例:
<?php
//系统定义的常量
echo "当前系统:".PHP_OS."<br/>";
echo "PHP的版本:".PHP_VERSION."<br/>";
echo "当前文件名:".__FILE__."<br/>";
echo "当前行号:".__LINE__."<br/>";
PHP学习笔记(二) ---- PHP数据类型的更多相关文章
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Java学习笔记二:数据类型II
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一 Java中的数据类型 Java ...
- python学习笔记(二):python数据类型
上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
随机推荐
- git配置教程
一.配置ssh 1.检查本机是否有ssh key设置 如果没有则提示: No such file or directory 如果有则进入~/.ssh路径下(ls查看当前路径文件,rm删除所有文件) 2 ...
- centos6.5安装docker(亲测)
centos6.5下安装docker的过程办法 在看了网上N多复制粘贴的文章,又尝试无效后,我把我最终成功的办法发出来,希望能帮到拼命干环境的你. 操作环境: centos6.5(Final) 内核: ...
- apache 子域名自动与子域名同名的目录绑定
假设有域名domain.com,已经泛解析子域名*.domain.com到该主机的ip,web根目录为/var/www/,在访问a.domain.com时,能自动绑定/var/www/a/目录,访问b ...
- shortcut&website
作者:Vincent链接:https://www.zhihu.com/question/28993252/answer/61618961来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 论文分享NO.1(by_xiaojian)
论文分享第一期-2019.03.14: 1. Non-local Neural Networks 2018 CVPR的论文 2. Self-Attention Generative Adversar ...
- c#Task类。实现异步的一种方式
Task和Task<TResult>是c#提供的一种实现异步功能的2个类.Task<TResult>继承Task类,有返回参数. 1.基本用法 不嵌套利用静态方法创建和运行任务 ...
- Mac 10.12安装图片切换工具ArcSoft Photo+
说明:Mac自带的图片切换不能连续切换,这款工具和美图看看差不多. 下载: (链接: https://pan.baidu.com/s/1i5rLYzr 密码: 49dp)
- spring boot快速入门 1 :创建项目、 三种启动项目方式
准备工作: (转载)IDEA新建项目时,没有Spring Initializr选项 最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手sprin ...
- jenkins构建GitHub项目
一.Jenkins 配置 Git 首先,登录 Jenkins ,在首页找到 “系统管理 -> Global Tool Configuration -> Git ” Path to Git ...
- Touch事件机制
1.概念 Touch事件分发中有三个主角:Activity.ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewG ...