行走的泡饼-生命毕竟漫长，每一寸时光都要自己亲历 - callback
type: channel
link: http://walkingpaobing.cn/tag/callback/
items: PHP中的数据类型

PHP中的数据类型
type: item
date: 2023-04-25T21:40:00+08:00
description: 在PHP中数据类型分为四大类：1、基本类型：常见的有int、float、string、boolean2、复合类型：数组、对象3、特殊类型: null, 资源4、回调类型: callback下面分别讲解一下各类型和简单的实例代码。1、基本类型：常见的有int、float、string、boolean// int / float $age = 30; $price = 99.66; // string $username = 'admin'; // boolean $isDel = true;2、复合类型：数组、对象// 数组 $arr = [30, 99.66, 'admin', true, function () { }, [1, 2, 3]]; // 对象 $obj = new class(123456) { private $salary; public function __construct($salary) { $this->salary = $salary; } // 访问器 public function __get($name) { return $this->salary; } }; echo gettype($obj); echo " "; echo '工资是: ', $obj->salary;输出结果为object工资是: 123456{message type="success" content="gettype（）函数可以输出当前对象的数据类型。"/}3. 特殊类型: null, 资源 在三种情况下对象是null类型：1. 本身是null, 2.没赋值, 3. unset()删除了一个变量 $x = 123; unset($x); if (is_null($x)) echo 'NULL'; echo ' '; $f = fopen('readme.txt', 'r'); echo gettype($f);输出结果为Notice: Undefined variable: x in D:\phpEnv\www\php_vip\0419\demo1.php on line 44NULLresource{message type="success" content="这里会有一个Notice提示，可以关闭，原因是用unset()删除了一个变量。"/}{message type="success" content="资源类型的测试需要在demo文件同目录创建一个readme.txt文件用于测试"/}4. 回调类型: callback 1.php用字符串传递函数, 所以可以用任何方式来引用或传递函数,当成值/数据类型2.回调的表现形式, 不仅仅"函数, 对象方法, 类方法"3.接受回调为参数的函数或方法很多, array_filterfunction hello(string $name): string { return 'Hello ' . $name; } echo hello('孙悟空'), ' '; // 回调的方式来调用函数, 同步 echo call_user_func('hello', '孙悟空'); echo ' '; // 函数做为对象方法 class Demo1 { public function hello(string $name): string { return 'Hello ' . $name; } } // 'hello'是对象方法,用对象访问 // echo call_user_func([对象,方法], '唐僧'); echo call_user_func([(new Demo1), 'hello'], '唐僧'); echo ' '; // 类方法 class Demo2 { public static function hello(string $name): string { return 'Hello ' . $name; } } echo call_user_func(['Demo2', 'hello'], '猪八戒');输出结果Hello 孙悟空Hello 孙悟空Hello 唐僧Hello 猪八戒{message type="info" content="call_user_func（）函数百度了一下貌似有点复杂，暂时不做理解，先照着用。"/}