PHP学习——数据类型
PHP的数据是存在类型的概念的,弱类型指的是变量可以存储任何类型!一共8种,分别是:
整型、浮点型、布尔型、字符串(标量类型)
数组、对象(符合类型)
null、资源(特殊类型)
分成三大类:
标量类型:指的是一个数据表示一个值,也称为简单类型。
复合类型:指的是一个数据表示多个值,也称为集合类型。
特殊类型:不是常规数据,更倾向一种表示方式。
- 布尔类型 bool boolean
- 表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~
<?php var_dump(True);
var_dump('false');//使用引号是错误的
?><?php var_dump(True);
?>浏览器显示为:
- 表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~
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学习——数据类型的更多相关文章
- MySQL学习——数据类型
MySQL学习——数据类型 摘要:本文主要学习了MySQL数据库的数据类型. 整数类型 MySQL主要提供的整数类型有tinyint.smallint.mediumint.int.bigint,其属性 ...
- R学习----数据类型
今天开始学习R语言了,没原因,就是想学 本人开发环境在ubuntu 16.04 LTS下 R命令提示符 终端直接输入R进入交互模式进行R学习.如下图 R脚本 # My first program in ...
- Java学习——数据类型【2】
1. 对象与类 对象:类的一个实例,有状态和行为. 类:一个模板,描述一类对象的行状态和行为. 2. 类可以包含的变量 类型 局部变量 成员变量 类变量(静态变量) 定义位置 方法.或语句块中 类中, ...
- Redis 学习数据类型
该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379 查看redis 是否启动成功 一.Stri ...
- 转oracle 学习- 数据类型
oracle数据类型 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维护大有裨益.个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半 ...
- go 学习 ---数据类型
25个关键字 程序声明:import, package 程序实体声明和定义:chan, const, func, interface, map, struct, type, var 程序流程控制:go ...
- python2 学习 数据类型和变量
数据类型和变量 数据类型 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时 ...
- redis学习——数据类型
一.内容简介 Redis不仅仅是简单的key-value 存储器,同时也是一种data structures server.传统的key-value是指支持使用一个key字符串来索引value字符串的 ...
- python学习-数据类型
计算机处理的数据不单纯的指数字,计算机可以处理数字.文本.音频.视频等等各种数据,下面描述的是Python中可以直接使用和处理的基本数据类型. 整数 Python可以处理任意大小的整数,跟ja ...
- 20200105--python学习数据类型总结
总结 python中的数据类型:整型/布尔类型/字符串/元组/列表/字典/集合 注意:列表,字典,集合都不能作为字典中的key,也不能作为集合中的元素 数据类型: (1)整型 (2)布尔类型:只有两个 ...
随机推荐
- Java基础01 ------ 从HelloWorld到面向对象
Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ...
- Smart Card Filesystem
- ubuntu 新系统需要做的事
1 : 打开语言支持 开始补齐并且选择自己需要的语言包 . 2 : 搜索计算机 输入 update 找到软件更新器 更新软件库 . 然后打开ubuntu自带软件安装工具下载自己想要的软件(没有更新之前 ...
- Ubuntu 启动黑屏解决
要sudo apt-get install xserver...................balabala... then.... sudo gedit /boot/grub/grub.cf ...
- Palindrome Number ---- LeetCode 009
Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...
- IOS 作业项目(4)步步完成 画图 程序(问题处理)终结
一,解决换色程序崩溃问题 程序崩溃是因为颜色的内存被释放,添加如下类的内容即可 @implementation TuyaPath - (id)init { self = [super init]; i ...
- C#: .net序列化及反序列化 [XmlElement(“节点名称”)]
.net序列化及反序列化 序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了.比如,一个计数器,数值为2,我们可以用字符串“2”表示.如果有个 ...
- html input
disabled="disabled" <input name="" type="checkbox" value="&quo ...
- 重学STM32---(十) ——CAN通信(二)
CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 1.开时钟,不用说 2.设置GPIO口,,CAN_TX复用推挽输出,CAN_ ...
- 暴力枚举——Help Me with the Game
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3394 Accepted: 2172 Description You ...