https://learnku.com/articles/28772#c433af
删除重复值
方法一 $arr = [1, 5, 2, 5, 1, 3, 2, 4, 5]; $b = array_flip( array_flip($arr) );
方法二 array_unique($arr)
不使用临时变量交换两个变量的值 $a=1; $b=2; => $a=2; $b=1;
方法一 : $a = $a^$b; $b = $b^$a;
方法二 :list($b,$a) = [$a,$b];
方法三 : $a = $a . $b; $b = strlen( $b );
$b = substr( $a,0,(strlen($a)- $b ));
$a = substr( $a, strlen($b));
方法四 :当@$a 与 $b 确认为数字时
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;

方法五 :这个就比较有限制,必须用两个字符串中都不能出现的字符做为分隔符
$a = $b.','.$a ;
$a = explode(',', $a);
$b = $a[1];
$a = $a[0];

include 与 require 区别

•incluce在用到时加载

•require在一开始就加载。

require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

require的使用方法如:require(“myfile.php”),这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。include使用方法和require一样如:include(“myfile.php”),而这个语句一般是放在流程控制的处理区段中。PHP脚本文件在读到include()语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。

include_once require_once 区别

_once后缀表示已加载的不加载

include_once()和require_once()语句也是在脚本执行期间包括运行指定文件。此行为和include()语句及require()类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。

php curl

php 如何实现多线程

容器

php垃圾回收

数据库分表

PHP 内存溢出问题

分库分表怎么设计

下单后30分钟未支付取消订单#
第一种方案:被动过期+cron,就是用户查看的时候去数据库查有没有支付+定时清理。 第二种方案:延迟性任务,到时间检查订单是否支付成功,如果没有支付则取消订单

如何设计/优化一个访问量比较大的博客/论坛#
减少http请求(比如使用雪碧图)
优化数据库(范式、SQL语句、索引、配置、读写分离)
缓存使用(Memcache、Redis)
负载均衡
动态内容静态化+CDN
禁止外部盗链(refer、图片添加水印)
控制大文件下载
使用集群

php8新特性 & php新特性

短连接设计

https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
2、http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
3、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
4、http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。