-
PHP stripos函数及注意事项的分析
所属栏目:[PHP教程] 日期:2022-06-30 热度:58
定义和用法 stripos() 函数返回字符串在另一个字符串中第一次出现的位置。 如果没有找到该字符串,则返回 false。 语法 stripos(string,find,start) 参数 描述 string 必需。规定被搜索的字符串。 find 必需。规定要查找的字符。 start 可[详细]
-
php引用返回与取消引用的详解
所属栏目:[PHP教程] 日期:2022-06-30 热度:108
php引用返回与取消引用的详解 一、引用返回 引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。仅在有合理的技术原因时才返回引用!要返回引用,使用此语法: 复制代码 代码如下: ?php c[详细]
-
如何利用php array_multisort函数对数据库结果进行复杂排序
所属栏目:[PHP教程] 日期:2022-06-30 热度:199
如何利用php array_multisort函数 对数据库结果进行复杂排序 首先讲一下需求:数据库中有4个字段分别是id,volume,edition,name. 要求对查询结果按照volume+edition从大到小排序。 下面将一下array_multisort函数 array_multisort() 可以用来一次对多个数组进[详细]
-
PHP中数组合并的两种方法及区别介绍
所属栏目:[PHP教程] 日期:2022-06-30 热度:180
PHP中数组合并的两种方法及区别介绍 PHP数组合并两种方法及区别 如果是关联数组,如下: 代码如下: $a = array( where = uid=1, order = uid, ); $b = array( where = uid=2, order = uid desc, ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖[详细]
-
使用phpdbg来调试php程序的方法介绍
所属栏目:[PHP教程] 日期:2022-06-30 热度:167
PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 可以在PHP5.4和之上版本中使用。在PHP5.6和之上版本将内部集成 1.jpg 功能 单步调试 灵活的下断点方式(类方法、函数、文件:行、内存地址、opcode) 可直接调用php的[详细]
-
用PHP代码实现简单的工厂模式
所属栏目:[PHP教程] 日期:2022-06-30 热度:78
PHP代码实现简单的工厂模式方法 1、定义抽象基类 //家禽类 abstract class Fowl { abstract public function eat();//吃方法 } 2、定义子类 //牛类 class Cattle extends Fowl { public function eat() { echo 我是牛,我吃草; } } //鸭类 class Duck extend[详细]
-
谈谈关于PHP内存溢出的思考
所属栏目:[PHP教程] 日期:2022-06-30 热度:195
最近做大批量数据导出和数据导入的时候,经常会遇到PHP内存溢出的问题,在解决了问题之后,总结了一些经验,整理成文章记录下。 优化点 优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。 查询的结果集为大对象时转数[详细]
-
使用PHP反射机制获取函数文档
所属栏目:[PHP教程] 日期:2022-06-30 热度:147
反射 Reflection 反射可以简单理解为扫描类的属性、方法和注释的能力。 用法 PHP 为我们提供了丰富的方法,使我们可以方便的使用。 $reflect = new ReflectionClass(AppFoo); $reflect-getMethods(); // 获取方法的数组 $reflect-getDocComment(); // 获取[详细]
-
PHP网络请求插件Guzzle使用
所属栏目:[PHP教程] 日期:2022-06-30 热度:72
在写后台代码时,避免不了需要与其他第三方接口交互,如向服务号下发模板消息,有时可能需要下发超过 10 万条,这时不得不考虑使用异步和「多线程」的网络请求。 今天向 PHP 工程师们推荐一个 Guzzle 插件。 Guzzle Guzzle 是一个 PHP 的 HTTP 客户端,用来[详细]
-
用Composer构建属于你的PHP框架
所属栏目:[PHP教程] 日期:2022-06-30 热度:121
为什么要构建自己的 PHP 框架? 现在的 PHP 框架很多,当然不止 PHP ,即使是其他编程语言也有很多框架,这篇文章讲 PHP 框架构建是因为我对 PHP 的生态最为熟悉,但这个方法同样也适用于其他编程语言框架的构建。 框架是为了提升我们的应用开发效率,市面上[详细]
-
如何基于Hyperf实现RabbitMQ+WebSocket消息推送
所属栏目:[PHP教程] 日期:2022-06-30 热度:121
基于 Hyperf+ WebSocket +RabbitMQ 实现的一个简单大屏幕的消息推送。 思路 利用 WebSocket 协议让客户端和服务器端保持有状态的长链接, 保存链接上来的客户端 id。订阅发布者发布的消息针对已保存的客户端 id 进行广播消息。 WebSocket 服务 composer requ[详细]
-
PHP使用Redis常见7种使用场景
所属栏目:[PHP教程] 日期:2022-06-30 热度:109
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。 简单字符串缓存实战 $redis-connect(127.0.0.1, 6379); $strCacheKey = Tes[详细]
-
PHP如何实现简单的Socket
所属栏目:[PHP教程] 日期:2022-06-30 热度:149
PHP如何实现简单的Socket 首先使用PHP制作的Socket服务端,其主要是设置Socket的IP地址及端口号;然后监听端口,如果有客户端连接的话,则接收连接请求和数据,最后处理数据并且返回数据即可。 示例代码: ?php //确保在连接客户端时不会超时 set_time_limit[详细]
-
PHP 框架 Hyperf 实现处理超时未支付订单和延时队列
所属栏目:[PHP教程] 日期:2022-06-30 热度:147
延时队列 Delayproducer.Php Amqpbuilder.Php AmqpBuilder.php ?php declare(strict_types = 1); namespace AppComponentsAmqp; use HyperfAmqpBuilderBuilder; use HyperfAmqpBuilderQueueBuilder; class AmqpBuilder extends QueueBuilder { /** *[详细]
-
PHP封装cURL工具类与应用示例
所属栏目:[PHP教程] 日期:2022-06-29 热度:199
这篇文章主要介绍了PHP封装cURL工具类与应用,结合实例形式分析了php基于面向对象封装的curl请求、响应、参数设置等相关操作技巧,需要的朋友可以参考下。 本文实例讲述了PHP封装cURL工具类,分享给大家供大家参考,具体如下: CurlUtils工具类: ?php /** * c[详细]
-
php如何删除空数组
所属栏目:[PHP教程] 日期:2022-06-29 热度:172
php如何去除空数组 在php中可以通过使用array_filter()将空数组去除,该函数的作用是用回调函数过滤数组中的单元,其函数语法为array_filter($array,$callback,$flag),使用时只需将数组传入第一个参数即可。 示例代码: $entry = array( 0 = foo, 1 = false[详细]
-
PHP中你必须掌握的4种Array函数
所属栏目:[PHP教程] 日期:2022-06-29 热度:56
在日常的开发中foreach是我们用的最多的语法,但是有很多地方是不需要foreach就可以完成,而且比foreach更快。所以本篇文章给大家带来array_filter(),array_map(),array_walk(),array_reduce()这四个数组操作函数。只要学会了这四个函数我们在开发中就不用去[详细]
-
PHP简短又安全的数组遍历
所属栏目:[PHP教程] 日期:2022-06-29 热度:76
在写 PHP 的数组遍历的时候,我们通常会这样写: foreach ($definition[keys] as $id = $val) { // ... } 但是其实这样会引起一个重要的问题:如果 $definition[keys] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。 所以,我们进阶成这[详细]
-
PHP查询一列有序数组是否包含某值二分查找
所属栏目:[PHP教程] 日期:2022-06-29 热度:161
问题:对于一列有序数组,如何判断给出的一个值,该值是否存在于数组。 思路:判断是否存在,最简单是,直接循环该数组,对每一个值进行比较,但是对于有序数组来说,这样写就完全没有利用好有序这一特点。 所有我们使用到二分法查找, //有序数组为 $arr =[详细]
-
php求两数组交集的三种方法详情
所属栏目:[PHP教程] 日期:2022-06-29 热度:179
题目:给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的[详细]
-
PHP对一组数开展重新排列冒泡算法
所属栏目:[PHP教程] 日期:2022-06-29 热度:83
如何对已知数组 $arr = [24,69,80,57,13] 进行按重新顺序排序。 思路: 1、我们需要对数组中每两个,前后进行比较,如果前面小于后面的,就进行兑换位置; 2、因为是两个一比较,所以我们需要比较count($arr) - 1 轮,因为每一轮比较下来,都可以确定一个最[详细]
-
在php中比较两个数组差异的方法
所属栏目:[PHP教程] 日期:2022-06-29 热度:114
在开发中可能会遇到需要比较两个数组差异的需求,那么如何使用php来实现呢?其实php中为我们提供了这样一个函数:array_diff,下面就一起来看下使用的方法吧。 常用PHP比较两个数组的差异 array_diff($arr, $arr1); //比较数组差异 $arr = [1,2,3,4]; $arr1[详细]
-
php依据数组中某一字段来实现排序
所属栏目:[PHP教程] 日期:2022-06-29 热度:128
函数介绍:array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。 代码示例: 1、单个字段排序: $data = [ [id = 1, name = 张三, sort = 60[详细]
-
php实现获得数组中相同不相同的元素
所属栏目:[PHP教程] 日期:2022-06-29 热度:105
php实现获取数组中相同/不相同的元素 1、获取数组相同元素 array_intersect()该函数比较两个(或更多个)数组的键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键值。 ?php $a1=[详细]
-
php写入txt乱码的修复方法
所属栏目:[PHP教程] 日期:2022-06-28 热度:116
相信很多人在使用PHP的过程中都遇到过生成文件乱码的情况,不论是使用fwrite还是file_put_contents写入。可能你会先尝试从编码入手尝试解决,但最终的结果往往是不理想的,尽管我们都将其转换为了UTF-8编码了... 那么究其根本原因是什么呢?就是缺少头部BOM([详细]
