随笔分类 -  PHP

摘要:$c = $a ?: $b; 等效于 $c = $a ? $a : $b; $c = $a ?? $b; 等效于 $c = isset($a) ? $a : $b; 示例: $a = null; $b = 'b'; $c = $a ?: $b; // b $c = $a ?? $b; // b $a 阅读全文
posted @ 2022-11-13 21:42 幽篁晓筑 阅读(284) 评论(0) 推荐(1)
摘要:// 获取前一秒 strtotime("-1 seconds"); // 获取前一分钟 strtotime("-1 minute"); // 获取前一小时 strtotime("-1 hour"); // 获取前一天 strtotime("-1 day"); // 获取前一周 strtotime(" 阅读全文
posted @ 2022-10-02 07:50 幽篁晓筑 阅读(1121) 评论(0) 推荐(0)
摘要:一、重启 PHP 服务 service php-fpm start 开启 service php-fpm stop 停止 service php-fpm restart 重启 二、重启 nginx 服务 sudo service nginx start 开启 sudo service nginx s 阅读全文
posted @ 2022-05-03 23:36 幽篁晓筑 阅读(259) 评论(0) 推荐(0)
摘要:定义: 享元模式(Flyweight):运用共享技术有效地支持大量细粒度的对象。 结构: Flyweight:享元抽象类,所有具体享元类的接口,通过这个接口,Flyweight 可以接受并作用于外部状态。 ConcreteFlyweight:实现 Flyweight 接口的可以共享的具体享元类。 U 阅读全文
posted @ 2022-04-23 17:55 幽篁晓筑 阅读(205) 评论(0) 推荐(0)
摘要:array_count_values array_count_values() 函数用于统计数组中所有值出现的次数。 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。 示例: function arrayCountValues() { $data = ['a', 'b' 阅读全文
posted @ 2022-03-19 14:51 幽篁晓筑 阅读(55) 评论(0) 推荐(0)
摘要:str_repeat str_repeat() 函数把字符串重复指定的次数。 示例: function strRepeat() { echo str_repeat("*", 5); // ***** } 阅读全文
posted @ 2022-03-19 14:48 幽篁晓筑 阅读(62) 评论(0) 推荐(0)
摘要:array_values array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。 示例: function arrayValues() { $data = ["size" => "XL", "color" => "gold"]; $handle = array_val 阅读全文
posted @ 2022-02-20 15:53 幽篁晓筑 阅读(65) 评论(0) 推荐(0)
摘要:array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: public function arrayReduce() { $data = [ ['a' => '10', 'b' => ' 阅读全文
posted @ 2022-01-23 15:24 幽篁晓筑 阅读(123) 评论(0) 推荐(0)
摘要:区别: empty() 函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 is 阅读全文
posted @ 2021-11-13 15:14 幽篁晓筑 阅读(538) 评论(0) 推荐(1)
摘要:方法一: 使用 filter_var 函数 FILTER_VALIDATE_EMAIL function validateEmail($email) { if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo '邮箱格式错误'; } else { 阅读全文
posted @ 2021-11-13 15:02 幽篁晓筑 阅读(227) 评论(0) 推荐(0)
摘要:思路:首先获取一个目录下所有文件名可以使用 scandir() 函数。scandir() 函数返回指定目录中的文件和目录的数组。因为这个返回的数据不包含子目录下文件,所以可以使用递归来处理。 /** * @param $dir 要查找的文件路径 * @param $dir_array 存储文件名的数 阅读全文
posted @ 2021-10-02 14:50 幽篁晓筑 阅读(2337) 评论(1) 推荐(0)
摘要:二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、 阅读全文
posted @ 2021-10-02 10:10 幽篁晓筑 阅读(1024) 评论(0) 推荐(0)
摘要:PHP 提供了一个函数 array_filter 可以帮助我们更方便的过滤数组里面的空值。 array_filter 使用回调函数过滤数组的元素,返回过滤后的数组。 遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。 如果 callback 回调函数返回 true,则将 阅读全文
posted @ 2021-09-20 23:35 幽篁晓筑 阅读(2435) 评论(0) 推荐(0)
摘要:构造函数 __construct() PHP 允许开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。 class Car { function __construct() { echo "这是构造函数" . "<b 阅读全文
posted @ 2021-09-11 10:32 幽篁晓筑 阅读(448) 评论(0) 推荐(0)
摘要:什么是Cookie HTTP协议是无状态协议,服务器本身无法判断用户身份,我们可以通过Cookie来跟踪用户状态,Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。简单地说, Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取。一般情况下,Co 阅读全文
posted @ 2021-08-28 21:37 幽篁晓筑 阅读(635) 评论(0) 推荐(0)
摘要:定义: 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 结构: Mediator:抽象中介者,定义了同事对象到中介者对象的接口。 Colleague:抽象同事类。 ConcreteMedi 阅读全文
posted @ 2021-08-27 21:35 幽篁晓筑 阅读(306) 评论(0) 推荐(0)
摘要:定义: 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 结构: Handler:抽象类,定义一个处理请示的接口。 ConcreteHandl 阅读全文
posted @ 2021-07-26 21:36 幽篁晓筑 阅读(105) 评论(0) 推荐(0)
摘要:定义: 命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 结构: Command:命令抽象类,用来声明执行操作的接口。 ConcreteCommand:具体命令类,将一个接收者对象绑定于一个动作,调用接收者 阅读全文
posted @ 2021-06-29 21:06 幽篁晓筑 阅读(139) 评论(0) 推荐(0)
摘要:定义: 桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。 结构: Abstraction:抽象类。 RefindAbstraction:被提炼的抽象类。 Implementor:实现类。 ConcreteImplementor:具体实现类 。 Client:客户端代码 阅读全文
posted @ 2021-06-29 20:58 幽篁晓筑 阅读(152) 评论(0) 推荐(0)
摘要:一、从字符串中识别URL 可以使用正则表达式匹配 function getUrl() { $str = '提取urlhttp://127.0.0.1/demo/index'; $pattern = "/http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\), 阅读全文
posted @ 2021-06-29 20:12 幽篁晓筑 阅读(316) 评论(0) 推荐(0)