您的位置:

php函数的参数的8中类型(php8种数据类型)

本文目录一览:

有关于PHP中常见数据类型的汇总分享

PHP

数据类型

PHP

支持八种原始类型(type)。

四种标量类型:

string(字符串)

integer(整型)

float(浮点型,也作

double

boolean(布尔型)

两种复合类型:

array(数组)

object(对象)

两种特殊类型:

resource(资源)

NULL(空)

查看变量类型

通过

gettype()

函数可以方便的查看某个变量的类型:

复制代码

代码如下:

?php$var_bool

=

TRUE;

//

a

boolean$var_str

=

"foo";

//

a

string$var_int

=

12;

//

an

integerecho

gettype($var_bool);

//

输出

booleanecho

gettype($var_str);

//

输出

stringecho

gettype($var_int);

//

输出

integer?

(PS:T不错的PHP

Q扣峮:276167802,验证:csl)

提示

由于历史原因,如果是

float

类型数据,gettype()

函数返回的是

double,而不是

float

如果想查看某个表达式的值和类型,请使用用

var_dump()

函数。

判断变量类型

如果想通过判断变量类型来确定下一步逻辑动作,不要使用

gettype()

,而使用

is_type

系列函数:

复制代码

代码如下:

?php$var_int

=

12;//

如果

$var_int

int

类型,这进行加法if

(is_int($var_int))

{

$var_int

=

$var_int+4;}echo

$var_int;

//

输出

16?

以上是本文关于PHP

数据类型的汇总,希望本文对广大php开发者有所帮助,感谢您阅读本文。

php函数设定参数类型

php 函数的参数类型可以指定为类名或数组类型array,比如

这样是对的public function Right( My_Class $a, array $b )

这样是错的public function Wrong( string $a, boolean $b )

如果需要其他类型,需要在函数内部进行类型检查

参考

这一段

public function Right( My_Class $a, array $b )

tells first argument have to by object of My_Class, second an array. My_Class means that you can pass also object of class that either extends My_Class or implements (if My_Class is abstract class) My_Class. If you need exactly My_Class you need to either make it final, or add some code to check what $a really.

Also note, that (unfortunately) "array" is the only built-in type you can use in signature. Any other types i.e.:

public function Wrong( string $a, boolean $b )

will cause an error, because PHP will complain that $a is not an *object* of class string (and $b is not an object of class boolean).

So if you need to know if $a is a string or $b bool, you need to write some code in your function body and i.e. throw exception if you detect type mismatch (or you can try to cast if it's doable).

PHP-bc函数及其应用详解

bcadd —— 两个任意精度数字的加法计算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcadd ( string $num1 , string $num2 , ?int $scale = null ): string

注:对 num1 和 num2 求和。

参数:

num1 — 左操作数,字符串类型。

num2 — 右操作数,字符串类型。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。

返回值: 以字符串返回两个操作数求和之后的结果。

范例:

bcsub —— 两个任意精度数字的减法 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsub ( string $num1 , string $num2 , ?int $scale = null ): string

注: num1 减去 num2 。

参数:

num1 — 左操作数,字符串类型。

num2 — 右操作数,字符串类型。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。

返回值: 以 string 类型返回减法之后的结果。

范例:

bcmul —— 两个任意精度数字乘法计算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmul ( string $num1 , string $num2 , ?int $scale = null ): string

注: num1 乘以 num2 。

参数:

num1 — 左操作数,字符串类型。

num2 — 右操作数,字符串类型。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。

返回值: 以 string 类型返回减法之后的结果。

范例:

bcp —— 两个任意精度的数字除法计算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcp ( string $num1 , string $num2 , ?int $scale = null ): string

注: num1 除以 num2 。

参数:

num1 — 左操作数,字符串类型。

num2 — 右操作数,字符串类型。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。

返回值: 以 string 类型返回减法之后的结果。

范例:

bccomp —— 比较两个任意精度的数字 (PHP 4, PHP 5, PHP 7, PHP 8)

bccomp ( string $num1 , string $num2 , ?int $scale = null ): int

注: 比较 num1 和 num2 , 并且返回整型数字的结果。

参数:

num1 — 左边的运算数,是一个字符串。

num2 — 右边的运算数,是一个字符串。

scale — 可选的 scale 参数被用作设置指示数字, 在使用来作比较的小数点部分。

返回值: 两个数相等时返回 0; num1 比 num2 小时返回 -1; 其他则返回 1。现在 scale 可以为 null。

范例:

bcmod —— 任意精度数字取模 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmod ( string $num1 , string $num2 , ?int $scale = null ): string

注: 对 num1 使用 num2 取模。 除非 num2 是零,否则结果必定和 num1 有相同的符号。

参数:

num1 — string 类型的被除数。

num2 — string 类型的除数。

scale — 现在 scale 可以为 null。

返回值: 返回字符串类型取模后的结果,如果 num2 为 0 则返回 null。

范例:

bcpow—— 任意精度数字的乘方 (PHP 4, PHP 5, PHP 7, PHP 8)

bcpow ( string $num , string $exponent , ?int $scale = null ): string

注: num 的 exponent 次方运算。

参数:

num — string 类型的底数。

exponent — string 类型的指数。 如果指数不是整数,将被截断。 指数的有效范围取决于平台,但起码支持 -2147483648 到 2147483647 的范围。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。

返回值: 返回字符串类型的结果。

范例:

bcpowmod —— 先取次方然后 取模 。 (PHP 5, PHP 7, PHP 8)

bcpowmod ( string $num , string $exponent , string $modulus , ?int $scale = null ): string

注: 先取次方然后取模。

参数:

base — 左操作数。它是一个字符串类型的参数。

exponent — string 类型的指数。 指数的正确操作数。

modulus — string 类型的 参 数。 接受表示模数的操作数。

scale — 一个整数类型参数。它说明 ( base exponent %mod ) 结果中小数点后的位数。其默认值为 0。

返回值: 该函数将结果作为字符串返回。或者,如果模数为 0 或指数为负,则返回 False。

范例:

bcscale —— 设置/获取所有 bc math 函数的默认小数点保留位数 (PHP 4, PHP 5, PHP 7, PHP 8)

bcscale ( int $scale ): int

设置所有 bc math 函数在未设定情况下的小数点保留位数。

bcscale ( null $scale = null ): int

注: 获取当前的小数点保留位数。

参数:

scale — 小数点保留位数。

返回值: 设置的时候,返回之前的小数点保留位数。否则就是返回当前的位数。

范例:

bcsqrt —— 任意精度数字的二次方根 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrt ( string $num , ?int $scale = null ): string

注: 返回 num 的二次方根。

参数:

num — string 类型的操作数 。

scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。

返回值: 以 string 类型返回二次方根的结果,如果 num 是负数则返回 null。

范例:

PHP8新特性示例

命名参数 :就是具名参数,在调用函数的时候,可以指定参数名称,指定参数名称后,参数顺序可以不安装原函数参数顺序传

示例:

注解 :注解可以将类定义成一个一个低耦合,高内聚的元数据类。在使用的时候通过注解灵活引入,反射注解类实例的时候达到调用的目的。注解类只有在被实例化的时候才会调用

示例

示例:

解释 :在不确定参数类型的场景下,可以使用.

示例:

解释:和 switch case 差不多,但是严格要求 === 匹配

示例:

解释:简化了 is_null 判断

示例:

考虑到 PHP 动态语言类型的特性,现在很多情况下,联合类型都是很有用的。联合类型是两个或者多个类型的集合,表示可以使用其中任何一个类型。

请注意,联合类型中不包含 void ,因为 void 表示的含义是 “根本没有返回值”。 另外,可以使用 |null 或者现有的 ? 表示法来表示包含 nullable 的联合体 :

JIT — just in time — 编译器虽然不总是在 Web 请求的上下文中,但是有望显著地提高性能。目前还没有完成任何准确的基准测试,但是肯定会到来。

属性在其他语言中通常被称为 注解 ,提供一种在无需解析文档块的情况下将元数据添加到类中的方法。

尽管已经可以返回 self,但是 static 直到 PHP 8 才是有效地返回类型 。考虑到 PHP 具有动态类型的性质,此功能对于许多开发人员将非常有用。

有人可能将其称为必要的邪恶: mixed 类型让许多人感觉十分混乱。然而,有一个很好的论据支持去实现它:缺少类型在 PHP 中会导致很多情况:

因为上述原因,添加 mixed 类型是一件很棒的事儿。 mixed 本身代表下列类型中的任一类型:

请注意,mixed 不仅仅可以用来作为返回类型,还可以用作参数和属性类型。因为 mixed 类型已经包括了 null,因此 mixed 类型不可为空。下面的代码会触发致命错误:

已上是整理出来的新特性的变化,后续会继续整理,PHP8的发布会让PHP更上一层楼,相信PHP是世界上最好的语言!

php函数基础问题

1、int,bool是指函数的返回值类型。

2、第一个string是参数类型,第二个string是参数名。

3、[,int..]表示可选参数,不输入的话则使用默认值,逗号在前边是跟前边的参数隔开。。。

php函数传值问题

$是变量的定义符;

$client是一个变量;

-是指向操作符;

$client-;实例化后的对象;

litime(),是一个函数;

$client - litime();是对象$client里的一个方法;

8是传给litime()函数的第一个参数;"UTF-8" 是第二参数;

$client - litime ( 8 ,"UTF-8" );就是把8和"UTF-8"作为参数传给对象$client里的litime()方法,返回litime的结果;