首页 » SEO优化 » php单词手册技巧_小白教你PHP根本

php单词手册技巧_小白教你PHP根本

访客 2024-12-02 0

扫一扫用手机浏览

文章目录 [+]

建议先阅读前篇文章:小白教你PHP

由于韶光问题,本日就不做回顾了,我们接着往下讲。

php单词手册技巧_小白教你PHP根本

常量

php单词手册技巧_小白教你PHP根本
(图片来自网络侵删)

常量是相对付变量来说的:是一个个中存储的数据不会也不应该改变的“标识符”。

常量的利用,就2个方面:定义,取值。

常量的定义:

常量的利用——取值:

也有两种形式:直策应用名字,或通过constant()函数取得其值;

常量变量的差异

定义形式不同:

利用形式不同:常量无需$符号

可变程度不同:常量的值不可以改变,常量也不可以销毁

浸染范围不同:常量具有超全局浸染域 (函数内外都可以直策应用)

可用类型不同:常量只能存储标量类型(整数,浮点数,字符串,布尔)

判断常量是否存在

利用defined()函数:

如果存在:返回结果是true,

如果不存在:返回结果是false

利用一个未定义的常量:

先看2个比拟代码:

echo “v1的值为” . $v1; //把稳,该变量v1未定义过

echo “C1的值为” . C1; //把稳,该常量C1未定义过

把稳:在php中,当利用一个未定义的常量的时候,系统会直接将该常量当做“有值”的常量去利用,并且其值便是该常量名——虽然也会报错!

预定义常量

便是系统中预先定义好的一些常量,大约有几百个,我们只要知道几个就行:

M_PI: 便是圆周率的常量值;

PHP_OS: 便是php运行所在的操作系统

PHP_VERSION:便是php的版本号

PHP_INT_MAX: php中的最大的整数值

......更多可参考:php手册>附录>保留字列表>预定义常量

魔术常量

实在只是常量的形式,但没有常量的“恒常”的含义:其值实在会变革的,只有很少的几个:

__FILE__ :代表当前网页文件的完全物理路径

__DIR__ :代表当前网页文件所在的文件夹

__LINE__ :代表当前这个常量名所在的”行号”

数据类型

总体划分

有8种数据类型:

基本类型(标量类型):

整数类型: int, integer

浮点数类型: float,double, real

字符串类型: string

布尔类型: bool, boolean 这种类型,只有2个数据:true,false

复合类型:

数组: array

工具: object

分外类型

空类型: null 这种类型中,只有一个数据,那便是null

资源类型: resource

整数类型

整数类型的4种写法:

$n1 = 123; //10进制数字写法

$n2 = 0123; //8进制数字写法,实际n2中存储的数字比123小

$n3 = 0x123; //16进制数字写法,实际n3中存储的数字比123大

$n4 = 0b1010; //2进制数字写法(目前不学)

进制转换问题

首先记住这几个单词:

bin:2进制

oct:8进制

dec:10进制

hex:16进制

进制转换紧张分2种情形:

1,10进制转换为其他3种进制:decbin(), decoct(), dechex();

2,其他3种进制,转换为10进制:

进制转换的系统函数——必须会用

进制转换紧张分2种情形:

1,10进制转换为其他3中进制:

decbin(一个10进制数字): 结果返回的是该数字的2进制数字形式的字符串!


decoct(一个10进制数字): 结果返回的是该数字的8进制数字形式的字符串!


dechex(一个10进制数字): 结果返回的是该数字的16进制数字形式的字符串!


2,其他3种进制,转换为10进制:

bindec(一个2进制数字字符串): 结果返回的是该2进制数字字符串对应的10进制数字!


octdec(一个8进制数字字符串): 结果返回的是该8进制数字字符串对应的10进制数字!


hexdec(一个16进制数字字符串): 结果返回的是该16进制数字字符串对应的10进制数字!


对付输入的字符串中的字符,如果不是对应进制的数字,会被忽略。

那么,有没有这个转换呢?hexbin()???? ——没有!

一个思考题:

将8进制字符串”12345”,转换为2进制结果,怎么做?

$v1 = octdec(“12345”); //此时,v1是10进制数字

$result = decbin( $v1 ); //此时,便是结果:为2进制数字字符串!

补充进制根本知识:

10进制12345678910111213141516178进制12345671011121314151617202116进制123456789ABCDEF10112进制110111001011101111000100110101011110011011110111110000100012021222324124816

一个课后题:

$v1 = 0x123; //它的实际大小实在是:291

$result = octdec( $v1 ); //结果为:17,怎么理解?推理如下:

1,octdec( $v1 )

2,octdec(291) //由于$v1的实际值便是291

3,octdec(“291”); //由于octdec()函数哀求输入一个字符串,这属于自动转换

4,octdec(“21”); //由于octdec()函数哀求输入一个8进制数字字符串,而9不是合法的数字,忽略掉

5,结果,8进制数字”21”转换为10进制便是便是17;

进制转换的人工打算——理解其事理

10进制转换为2进制:

做法:除2取余倒着写出所有余数,便是对应的2进制数字形式;

详细阐明:将一个10进制数字除以2,得到商和余数,如果商还大于即是2,则连续除以2,连续得到商和余数,以此类推,直到商为0为止,然后将前面的所有余数按倒序写出来便是对应的2进制数字。

10进制转换为8进制:

做法:除8取余倒着写出所有余数,便是对应的8进制数字形式;

详细阐明:将一个10进制数字除以8,得到商和余数,如果商还大于即是8,则连续除以8,连续得到商和余数,以此类推,直到商为0为止,然后将前面的所有余数按倒序写出来便是对应的8进制数字。

10进制转换为16进制:

做法:除16取余倒着写出所有余数,便是对应的16进制数字形式;

详细阐明:将一个10进制数字除以16,得到商和余数,如果商还大于即是16,则连续除以16,连续得到商和余数,以此类推,直到商为0为止,然后将前面的所有余数按倒序写出来便是对应的16进制数字。

其他进制转换为10进制的做法:

先看一种对数字大小和“数字权值”的理解:

对一个10进制数字: 1234,可以这样去理解它的大小:

1234 = 1103 + 2102 + 3101 + 4100 = 1000 + 200 + 30 + 4; (任何数的0次方都是1)

这里,我们对103 , 102, 101, 100 等等,称为“权值”;每个位的权值是不同的。

对付10进制,每个位上的权值,便是10 的 n次方;

对付8进制,每个位上的权值,便是8的 n次方;

对付16进制,每个位上的权值,便是16 的 n次方;

对付2进制,每个位上的权值,便是2 的 n次方;

8进制转换10进制:

将8进制数字的每个位上的数字乘以其对应位上的权值,然后相加之后的结果。

举例:有一个8进制数字123,则其实际大小为:

1 82 + 2 81 + 3 80 = 64 + 16 + 3 = 83;

16进制转换10进制:

将16进制数字的每个位上的数字乘以其对应位上的权值,然后相加之后的结果。

举例:有一个16进制数字123,则其实际大小为:

1 162 + 2 161 + 3 160 = 256 + 32 + 3 = 291;

2进制转换10进制:

将2进制数字的每个位上的数字乘以其对应位上的权值,然后相加之后的结果。

举例:有一个2进制数字101011,则其实际大小为:

1 25 + 0 24 + 1 23 + 0 22 + 1 21 + 1 20= 32 + 0 + 8 + 0 + 2 + 1 = 43;

浮点类型

浮点数的2种表示形式

1, 常规写法:带小数点。

$v1 = 123.456;

2, 科学计数法:带一个分外符号“E”

$v1 = 123.456E2; //含义为:123.456乘以10的2次方;

$v2 = 123.456E3; //含义为:123.456乘以10的3次方,虽然结果是123456,但仍旧是“浮点型”

$v3 = 123E4; //含义为:123乘以10的4次方,还是浮点数。

浮点数利用的细节知识

浮点数不应进行大小比较

由于:

1,所有数字,终极的表示形式,都是2进制!


2,大多数浮点数的2进制形式,不能完备表达准确,终极只能“以很高的精度靠近理论值”

3,因此,浮点数比较是不可靠。

再从另一个角度证明浮点数的不准确性:

解释: php中输出实在是做了一定的处理之后的显示结果,而js的输出是该打算结果的“真实反响”。

那该当怎么办?

考虑实际运用所需的精度的情形下,去将要比较的浮点数,转换为整数之后再比较。

比如:

哀求精度为3为小数,则都乘以1000,然后取整后比较;

哀求精度为4为小数,则都乘以10000,然后取整后比较;

....

解释: php中输出实在是做了一定的处理之后的显示结果,而js的输出是该打算结果的“真实反响”。

那该当怎么办?

考虑实际运用所需的精度的情形下,去将要比较的浮点数,转换为整数之后再比较。

比如:

哀求精度为3为小数,则都乘以1000,然后取整后比较;

哀求精度为4为小数,则都乘以10000,然后取整后比较;

....

小数转二进制的做法:乘2并顺序取整数部分(理解):

当整数运算的结果超出整数的范围后,会自动转换为浮点数(理解)。

获取一个数据(变量)的类型的函数有:

getType($变量); 返回的是该类型的名字(字符串);

var_dump($变量): 会输出该变量的类型,数据内容,(以及长度);

字符串

有如下4形式:

形式1:双引号字符串:

$str1 = “字符串内容.....”;

形式2:单引号字符串:

$str2 = ‘字符串内容.....’;

形式3:双引号定界符字符串:

$str3 = <<<”标识符A”

字符串内容....

标识符A;

形式4:单引号定界符字符串:

$str4 = <<<’标识符B’

字符串内容...

标识符B;

双引号字符串

单引号字符串:

解释:

实际上,单引号字符串中,只有末了一个“\”才是必须进行转义的。

双引号定界符字符串(heredoc):

单引号定界符字符串(nowdoc):

布尔类型

单词是bool,boolean。

其只有2个数据:true,false;

布尔类型的一个常见运用环境是:对一个变量直接进行判断,比如if判断,示例如下:

这里的判断,永久是指:判断该变量(数据)“是否为真”。

对付这种情形,只有如下数据是被当做“假”(false):

0, 0.0, “”, “0”, null, array(), false, 还有一个是“未定义的变量”

别的都是真。

参考:

手册》附录》PHP类型比较表》

类型转换

自动转换:

在任何运算中,如果须要某种类型的数据,而给出的数据不是该类型,常日都会发生自动转换:将该类型转换为目标须要的类型。

比如: octdec($x), bindec($x), hexdec($x); //这里就哀求$x必须是字符串,如果不是,就会转换;

$v1 = 1 + “2”; //此时也发生了自动转换。

逼迫转换:

自动类型转换是由“运算符”或类似运算符的语句来决定的。

而:

逼迫类型转换,仅仅是一个大略的语法:

形式:(目标类型)数据;

含义: 将该数据转换为设定的目标类型;

例子:

常日的转换目标类型有:

(int), (float), (string), (bool), (array), (object)

上述逼迫类型转换,并不改变该变量的本身数据或类型。

对应,有一个语法是直接改变改变本的数据(及类型):

settype( $变量名, “目标类型”);

类型干系的函数

var_dump():用于输出变量的“完全信息”,险些只用于调试代码。

getType($变量名):获取该变量的类型名字,返回的是一个表示该类型名字的字符串,比如:“string”,“bool”,“double”,“int”

setType($变量名,“目标类型”):将该变量逼迫改变为目标类型;

isset(), empty(), unset();。



省略!

is_XX类型() 系列函数:判断某个数据是否为某种类型,有如下一些:

is_int($x); 判断$x是否是一个整数类型;

is_float($x);

is_string($x);

is_bool($x);

is_array($x);

is_object($x);

is_null($x);

is_numeric($x); 判断$x是否是一个数字!

is_scalar($x); 判断$x是否是一个“标量类型”

查看干系素材及更多课程请搜索微信"大众号“爱搞机个人版”,喜好学习的建议关注下,所有课程免费!
点下关注不迷路!

标签:

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读0 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读0 评论0