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)布尔类型:只有两个 ...
随机推荐
- 交互式报表和工作报表控件Stimulsoft Reports.Fx for Java
Stimulsoft Reports.Fx for Java是一款Java平台下的报表工具控件,可以为您的应用程序添加交互式报表和工作报表.Java技术可以用于不同的平台.不同的操作系统和不同的硬件, ...
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(一)
MEX文件是一种可在matlab环境中调用的C语言(或fortran)衍生程序,mex的编译结果实际上就是一个带输出函数mexFunction 的dll文件. 中文名 mex文件 外文名 MATLAB ...
- 《JAVA笔记 day08 静态_单例》
//static关键字: /* 静态方法的使用注意事项: 1,静态方法不能访问非静态的成员. 但是非静态是可以访问静态成员的. 说明:静态的弊端在于访问出现了局限性.好处是可以直接别类名调用. 2,静 ...
- Cocoa Drawing
Graphics Contexts Graphics contexts are a fundamental part of the drawing infrastructure in Cocoa ap ...
- 网络图片下载缓存库SDWebImage的使用
SDWebImage导入问题 最新的SDWebImage由于是基于ARC模式写的,如果创建的是非ARC醒目的童鞋们注意,导入文件夹之后,先添加ImageIO.framework,mapKit.fram ...
- Java中接口作为方法的返回
在<算法>中的散列表一节,在用拉链法实现散列表的API时要求实现以下一个方法: public Iterable<Key> keys() 我们知道Iterable是一个接口,那么 ...
- ubuntu添加共享出错
早上设置一个共享目录share. 右键共享,之后系统自动安装软件samba,之后共享出错: "net usershare"返回错误 255:net usershare: canno ...
- Interview----用最快的方法计算 Fibonacci 数
输入 n, 用最快的方法求该 Fibocacci 数列的第 n 项. 方法1: 递归,非常慢 方法2: 迭代,因此计算 f[1] , f[2], f[3] ,,,, 复杂度 O(N) 方法3: 采用以 ...
- python类的定义和使用
python中类的声明使用关键词class,可以提供一个可选的父类或者说基类,如果没有合适的基类,那就用object作为基类. 定义格式: class 类名(object): "类的说明文档 ...
- 7、C#基础整理(类)
String类 概念:是一个class类型的类,里面包含许多处理字符串的方法和属性 1.length方法. 例: string s = "hello"; Console.Write ...