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. PHP错误——Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes)

    解释是可用内存已耗尽,这关系到PHP的memory_limit的设置问题. 这里有两种方法解决 1.修改php.ini memory_limit = 128 打开终端输入下列bash命令 cd /pr ...

  2. HEOI 十二省联考退役记

    Day -1 简要的说了些注意事项 一整天都在刷树套树的水题 退役的感觉近了 Day 0 早上收拾好东西去了火车站之后 火车站居然还没有开门 等了半天 我们是从衡水到德州再到秦皇岛 到了德州之后 去车 ...

  3. 最新版chrome浏览器如何离线安装crx插件?(转载)

    原文链接:https://newsn.net/say/chrome-crx-offline.html mac新版chrome开启离线插件安装 对于mac新版chrome,注意,大家一定要按照顺序来.m ...

  4. TP5 隐藏入口文件 index.php

    找到public下的.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine ...

  5. ospf基础理论

    OSPF简介 OSPF(Open Shortest Path First 开放式最短路径优先)协议是IETF为IP网络开发的IGP路由选择协议.它是一种典型的链路状态(link-state)路由协议. ...

  6. Neo4j使用简单例子(转)

    Neo4j Versions Most of the examples on this page are written with Neo4j 2.0 in mind, so they skip th ...

  7. 【es6】变量解构赋值

    1.数组解构赋值 let [a,b,c]=[1,2,3];//数组解构赋值,注意:左右两边格式需一致 let [a,b]=[1,2,3];//不完全解构,取位置靠前的值 let [a=1,b]=[un ...

  8. javaweb 实现跨域

    现在的一个web应用会涉及到多个地方的restAPi的调用,传统的jsonp虽然支持跨域,但是只是支持get请求. 传统的ajax请求是不支持跨域的,是为了安全考虑. 跨域的思路是跟http机制有关, ...

  9. Linux系统快速查找文件

    有时候下载新的文件或安装新的包 但是却搞不清默认放在哪个目录了,这个时候可以使用locate命令进行快速模糊查找 比如我使用 go get github.com/coreos/bbolt/... 在一 ...

  10. idp sp sso---SAML Single Sign-On (SSO) Service for Google Apps

    src: https://developers.google.com/google-apps/sso/saml_reference_implementation Security Assertion ...