PHP的数据是存在类型的概念的,弱类型指的是变量可以存储任何类型!一共8种,分别是:
整型、浮点型、布尔型、字符串(标量类型)

数组、对象(符合类型)

null、资源(特殊类型)

分成三大类:

标量类型:指的是一个数据表示一个值,也称为简单类型。

复合类型:指的是一个数据表示多个值,也称为集合类型。

特殊类型:不是常规数据,更倾向一种表示方式。

  • 布尔类型  bool    boolean

    •   表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~

      <?php
      
      var_dump(True);
      var_dump('false');//使用引号是错误的
      ?>
      <?php
      
      var_dump(True);
      ?>

        浏览器显示为:

    boolean  true

通常在判断的时候:关系表达式、或者if()需要的的条件等等,都需要布尔类型

整型  int  integer

  表示整型的数据,整型是有范围的,一个整型只能占用4个字节(4*8bit=32bit,32位),字节是最基本的数据存储单位,

位,计算机能够处理的最小单元,0和1

可以用预定义常量PHP_INT_MAX来得到最大值,

<?php

$evil = 182323328;
var_dump($evil);
echo '<hr>';
echo $evilxr = PHP_INT_MAX;
?>

  

php的整型有正负之分,最高位为符号位,1为负,0为正

负叔也有最小值,-2147483648,最小值的绝对值,要比最大值的绝对值大一!原因在于都是补码计算机

<?php

$evil = 182323328;
var_dump($evil);
echo '<hr>';
echo $evilxr = PHP_INT_MAX;
echo '<hr>';
echo $evilxr1 = -PHP_INT_MAX;//-2147483647 $evixr = $evilxr1 - 1;//-2147483648
var_dump($evilxr1);
var_dump($evixr-1)
?>

  

整型数据的表示

  整型支持三种表示方式,采用进制来区分,

  php支持的表示方式:十进制、八进制、十六进制。

  php提供了一些函数,可用于进制转换:

  

    10 dec

    2 bin

    8 oct

    16 hex

    decbin();

    hexdec();

      如——>Hexdec()十六转十:

<?php

echo '<hr>';
echo hexdec('ff');
?>

  

  浮点数  float

  php中没有区分单精度和双精度,因为只实现了双精度,浮点型就是双精度!

  浮点数,小数可以表示!

  

<?php

$evilxr = 40.4;
var_dump($evilxr);
?>

  整型不能表示的数也是浮点数:

  当数很大时,可以用科学计数法:

<?php

$evilxr = 40.4;
var_dump($evilxr);
echo '<hr>';
$kiss = 2E8;
var_dump($kiss);
echo '<hr>';
$kissme = 1e-4;//不能写成‘1e - 4’会报错
var_dump($kissme);
?>

  

 ps:几乎所遇小数,在保存时,保存的都是近似值而不是精确值~

字符串   string

  定义方式:单引号、双引号、定界符(heredoc)、定界符(newdoc)

  无论什么方式,最终得到的都是string字符串数据

    单引号:最简单、速度最快的定义字符串方式;

<?php
$akon = 'this name is akon';
var_dump($akon);
echo '<hr>';
$tired = 'I\'m a dog!';//因为字符串中包含了单引号,所以就用到了转义字符
var_dump($tired);
?>

  

双引号:

<?php
$akon = 'this name is akon';
var_dump($akon);
echo '<hr>';
$tired = 'I\'m a dog!';//因为字符串中包含了单引号,所以就用到了转义字符
var_dump($tired);
echo '<hr>';
$class_name1 = 'hello, $tired';
$class_name2 = "hello, $tired";//单引号和双引号的区别就在于对字符串内容的解析;单引号不能对变量进行解析,而双引号可以,
var_dump($class_name1, $class_name2);
?>

  数组

  

<?php
$arr1 = array('key1'=>'Very tired','key2'=>'evil',);//创建一个含元素的数组
var_dump($arr1);//输出数值类容
echo '<hr>';
echo $arr1['key2'];//访问数值中的元素
echo '<hr>';
$arr1['key3'] = 'kanvi';//增加数组元素
var_dump($arr1);
echo '<hr>';
var_dump(isset($arr1['key3']));//用isset()函数判断元素是否存在
echo '<hr>';
unset($arr1['key2']);//用unset()函数删除数组中的元素,也可删除数组
var_dump($arr1);
?>

  

 对象   Object

  和数组一样,可以保存多个数据,对象的每个数据称为对象的一个属性(property),php中中对象的创建,需要通过实例化(new)类(class)来完成

  类:相当于 设计图

  实例化:按照这几图制作一个成品(对象)的过程,对象能出现的前提是有一个类,类需要一个class关键字声明

<?php
class student{ //创建类
public $name;
public $age;
public $gender;
}
$stu = new student; //创建对象
var_dump($stu);
echo '<hr>';
$stu->name = '好饿吖';
$stu->age = 22;
$stu->gender = 'male';
var_dump($stu);
echo '<hr>';
var_dump($stu->age);
?>

  

补充

<?php
$data_int1 = 123; //十进制数
echo $data_int1;
echo "<br />";
$data_int2 = -123; //一个负数
echo $data_int2;
echo "<br />";
$data_int3 = 0123; //八进制叔
echo $data_int3;
echo "<br />";
$data_int4 = 0x123; //十六进制数
echo $data_int4;
echo "<br />";
?>

<?php
$man = "男";
$flag = $man =="男";
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>

PHP学习——数据类型的更多相关文章

  1. MySQL学习——数据类型

    MySQL学习——数据类型 摘要:本文主要学习了MySQL数据库的数据类型. 整数类型 MySQL主要提供的整数类型有tinyint.smallint.mediumint.int.bigint,其属性 ...

  2. R学习----数据类型

    今天开始学习R语言了,没原因,就是想学 本人开发环境在ubuntu 16.04 LTS下 R命令提示符 终端直接输入R进入交互模式进行R学习.如下图 R脚本 # My first program in ...

  3. Java学习——数据类型【2】

    1. 对象与类 对象:类的一个实例,有状态和行为. 类:一个模板,描述一类对象的行状态和行为. 2. 类可以包含的变量 类型 局部变量 成员变量 类变量(静态变量) 定义位置 方法.或语句块中 类中, ...

  4. Redis 学习数据类型

    该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379  查看redis 是否启动成功 一.Stri ...

  5. 转oracle 学习- 数据类型

    oracle数据类型 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维护大有裨益.个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半 ...

  6. go 学习 ---数据类型

    25个关键字 程序声明:import, package 程序实体声明和定义:chan, const, func, interface, map, struct, type, var 程序流程控制:go ...

  7. python2 学习 数据类型和变量

    数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时 ...

  8. redis学习——数据类型

    一.内容简介 Redis不仅仅是简单的key-value 存储器,同时也是一种data structures server.传统的key-value是指支持使用一个key字符串来索引value字符串的 ...

  9. python学习-数据类型

    计算机处理的数据不单纯的指数字,计算机可以处理数字.文本.音频.视频等等各种数据,下面描述的是Python中可以直接使用和处理的基本数据类型.     整数 Python可以处理任意大小的整数,跟ja ...

  10. 20200105--python学习数据类型总结

    总结 python中的数据类型:整型/布尔类型/字符串/元组/列表/字典/集合 注意:列表,字典,集合都不能作为字典中的key,也不能作为集合中的元素 数据类型: (1)整型 (2)布尔类型:只有两个 ...

随机推荐

  1. Java基础01 ------ 从HelloWorld到面向对象

    Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ...

  2. Smart Card Filesystem

  3. ubuntu 新系统需要做的事

    1 : 打开语言支持 开始补齐并且选择自己需要的语言包 . 2 : 搜索计算机 输入 update 找到软件更新器 更新软件库 . 然后打开ubuntu自带软件安装工具下载自己想要的软件(没有更新之前 ...

  4. Ubuntu 启动黑屏解决

    要sudo apt-get install xserver...................balabala...   then.... sudo gedit /boot/grub/grub.cf ...

  5. Palindrome Number ---- LeetCode 009

    Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...

  6. IOS 作业项目(4)步步完成 画图 程序(问题处理)终结

    一,解决换色程序崩溃问题 程序崩溃是因为颜色的内存被释放,添加如下类的内容即可 @implementation TuyaPath - (id)init { self = [super init]; i ...

  7. C#: .net序列化及反序列化 [XmlElement(“节点名称”)]

    .net序列化及反序列化 序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了.比如,一个计数器,数值为2,我们可以用字符串“2”表示.如果有个 ...

  8. html input

    disabled="disabled" <input name="" type="checkbox" value="&quo ...

  9. 重学STM32---(十) ——CAN通信(二)

    CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 1.开时钟,不用说 2.设置GPIO口,,CAN_TX复用推挽输出,CAN_ ...

  10. 暴力枚举——Help Me with the Game

      Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3394   Accepted: 2172 Description You ...