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数据类型的更多相关文章

  1. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  2. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  3. python学习笔记(二):python数据类型

    上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...

  4. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

  5. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

  6. JDBC学习笔记二

    JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...

  7. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  8. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  9. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  10. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

随机推荐

  1. git配置教程

    一.配置ssh 1.检查本机是否有ssh key设置 如果没有则提示: No such file or directory 如果有则进入~/.ssh路径下(ls查看当前路径文件,rm删除所有文件) 2 ...

  2. centos6.5安装docker(亲测)

    centos6.5下安装docker的过程办法 在看了网上N多复制粘贴的文章,又尝试无效后,我把我最终成功的办法发出来,希望能帮到拼命干环境的你. 操作环境: centos6.5(Final) 内核: ...

  3. apache 子域名自动与子域名同名的目录绑定

    假设有域名domain.com,已经泛解析子域名*.domain.com到该主机的ip,web根目录为/var/www/,在访问a.domain.com时,能自动绑定/var/www/a/目录,访问b ...

  4. shortcut&website

    作者:Vincent链接:https://www.zhihu.com/question/28993252/answer/61618961来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. 论文分享NO.1(by_xiaojian)

    论文分享第一期-2019.03.14: 1. Non-local Neural Networks  2018 CVPR的论文 2. Self-Attention Generative Adversar ...

  6. c#Task类。实现异步的一种方式

    Task和Task<TResult>是c#提供的一种实现异步功能的2个类.Task<TResult>继承Task类,有返回参数. 1.基本用法 不嵌套利用静态方法创建和运行任务 ...

  7. Mac 10.12安装图片切换工具ArcSoft Photo+

    说明:Mac自带的图片切换不能连续切换,这款工具和美图看看差不多. 下载: (链接: https://pan.baidu.com/s/1i5rLYzr 密码: 49dp)

  8. spring boot快速入门 1 :创建项目、 三种启动项目方式

    准备工作: (转载)IDEA新建项目时,没有Spring Initializr选项 最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot. 看着博客来进行操作上手sprin ...

  9. jenkins构建GitHub项目

    一.Jenkins 配置 Git 首先,登录 Jenkins ,在首页找到 “系统管理 -> Global Tool Configuration -> Git ” Path to Git ...

  10. Touch事件机制

    1.概念 Touch事件分发中有三个主角:Activity.ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewG ...