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. D02——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D02 20180801内容纲要: 1 字符串的系列操作 2 集合 3  文件的读写 4 字符编码转换 5 小结 6 练习:三级菜单(有彩蛋) 1 字符串的系列操 ...

  2. OmniMarkupPreviewer 404

    Here is the answer: Sublime Text > Preferences > Package Settings > OmniMarkupPreviewer > ...

  3. linux克隆后修配置

    第一步:克隆 第二步:vi /etc/sysconfig/network-scripts/ifcfg-eth0   编辑 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM ...

  4. TX2 之tensorflow环境部署

    刷机jetpack3.3 首先TX2必须是3.3版本的jetpack,因为截止目前nvidia发布的tensorflow只支持3.3版本的jetpack,刷机的具体步骤可以参考NVIDIA Jetso ...

  5. [Alpha]Scrum Meeting#7

    github 本次会议项目由PM召开,时间为4月9日晚上10点30分 时长15分钟 任务表格 人员 昨日工作 下一步工作 木鬼 整理并发布之前因为清明耽误的博客 撰写每日例会报告 SiMrua 添加暂 ...

  6. django.db.utils.OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes')

    环境介绍 Django (2.1)  Python 3.5.5 mysqlclient (1.4.2.post1) Mysql 5.6.28 RHEL 7.3 在migrate时候报错 model代码 ...

  7. 修改VS项目的目标平台(目标框架)

    如果是正常的情况下.. 右键项目属性里就有修改的地方.. 可是有时候打开属性发现修改的下拉框是禁用的.. 这时候可以右键 "卸载项目" 编辑 .csproj 项目文件 在上方有个& ...

  8. PHP 浮点数 转化 整数方法对比 ceil,floor,round,intval,number_format

    ceil,floor,round,intval,number_format - 执行1000W此效率对比 Header("Content-Type:text/html;charset=utf ...

  9. 解决UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position

    今天在使用python的pip安装的时候出现了这个错误 UnicodeDecodeError: 'ascii' code can't decode byte 0xef in position 7: o ...

  10. [笔记] Python基础---列表

    1.定义列表 列表由数据构成的有限序列,即按照一定的线性顺序排列,排列而成的数据项的集合. 2.创建列表 使用‘[ ]’括起来就已经创建了一个列表,例: my_first_list = [] #空列表 ...