php技巧

PHP优化之批量操作MySQL实例分析

2020-04-21
本文实例讲述了PHP优化之批量操作MySQL.分享给大家供大家参考,具体如下: 设计一个数据表如下: create table optimization( id INT NOT NULL AUTO_INCREMENT, value VARCHAR(10) NOT NULL, PRIMARY KEY(id) ); 现在有一个业务需求需要批量插入数据. 先来看看下面这一段代码: <?php $dsn = 'mysql:dbname=test;host=127.0.0.1'; $user = 'roo

php模拟实现斗地主发牌

2020-04-21
本文实例为大家分享了php实现斗地主发牌的具体代码,供大家参考,具体内容如下 闲来无聊,就写了这个方法,也算是熟悉下php的数组操作,还请各位大神多指教.$arr 数组,好像有点问题,应该 2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑桃2', 等的顺序换下.看来牌打少了.估计这个方法,一般程序都不会用吧. <?php wash_card(); function wash_card(){ $tmp = $arr = array( 0=>'大王',1=&

PHP 实现 JSON 数据的编码和解码操作详解

2020-04-21
本文实例讲述了PHP 实现 JSON 数据的编码和解码操作.分享给大家供大家参考,具体如下: JSON 的使用场景: 数据表一个字段需要记录多个信息,如记录关于用户的其他信息 数据传输,如:API接口返回值.Ajax中实现异步加载 配置文件,如 composer.json 包管理配置文件 在 PHP 中使用 JSON: JSON 使用最频繁的两个操作就是编码和解析数据,PHP 官方提供了以下 2 个函数实现这两个操作: json_encode() json_decode() Encoding a

PHP实现随机发放扑克牌

2020-04-20
PHP编程:用PHP实现随机发放扑克牌 描述:一副扑克牌共54张(包括大.小王),用PHP制作一发牌器,向三人随机发牌: 编辑poker.php <!DOCTYPE html> <html> <head> <title></title> </head> <body> <?php function poker(){ //建立数组保存牌组 $num = ['A','2','3','4','5','6','7','8','

PHP 预定义变量、魔术常量和魔术方法功能与用法小结

2020-04-20
本文总结了PHP 预定义变量.魔术常量和魔术方法.分享给大家供大家参考,具体如下: PHP 预定义了一些变量.常量.方法,使用起来很方便,例如直接使用 __DIR__ 获取当前文件所在的目录. 下面分别详细介绍一下 PHP 的预定义变量.魔术常量和魔术方法 预定义变量 超全局变量: 超全局变量是在全部作用域中始终可用的内置变量,意味这你可以在 PHP 脚本的任意位置直接访问.在函数或方法中无需执行 global $variable; 就可以访问它们. 超全局变量是从 PHP 4.1.0 开始才有

PHPUnit 单元测试安装与使用入门教程

2020-04-20
本文实例讲述了PHPUnit 单元测试安装与使用.分享给大家供大家参考,具体如下: 一.官网下载对应 PHP 版本的代码库 https://phpunit.de/getting-started-with-phpunit.html 二.安装 PHPUnit 官网提供了两种方法安装 1. PHP Archive (PHAR) ➜ wget -O phpunit https://phar.phpunit.de/phpunit-8.phar ➜ chmod +x phpunit ➜ ./phpunit

PHP 实现 WebSocket 协议原理与应用详解

2020-04-20
本文实例讲述了PHP 实现 WebSocket 协议原理与应用.分享给大家供大家参考,具体如下: 下面会讲解一下什么是 WebSocket,以及使用 PHP 实现 WebSocket. WebSocket 是什么? PHP 实例 应用场景 一.WebSocket 是什么 WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据. 在 WebSocke

php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析

2020-04-19
本文实例讲述了php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法.分享给大家供大家参考,具体如下: php函数function_exists (),method_exists() 与is_callable()的区别在哪? 先来讲下后两个:method_exists() 与is_callable(): 在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有 metho

PHP实现随机发扑克牌

2020-04-19
本文实例为大家分享了PHP实现随机发扑克牌的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <!-- 随机发扑克牌 --> <head> <meta charset="UTF-8"> <title>随机发牌</title> <style> div{margin:15px 0} font{border:1px solid #ccc;padding:6px 3p

PHP使用PDO 连接与连接管理操作实例分析

2020-04-19
本文实例讲述了PHP使用PDO 连接与连接管理操作.分享给大家供大家参考,具体如下: 连接是通过创建 PDO 基类的实例而建立的.不管使用哪种驱动程序,都是用 PDO 类名. 构造函数接收用于指定数据库源(所谓的 DSN)以及可能还包括用户名和密码(如果有的话)的参数. 连接到 MySQL <?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?> 如果有任何连接错误,将抛出一个 PDOException

PHP 命名空间原理与用法详解

2020-04-19
本文实例讲述了PHP 命名空间原理与用法.分享给大家供大家参考,具体如下: 命名空间适用于 (PHP 5 >= 5.3.0, PHP 7) 使用命名空间基础 PHP 命名空间类似于文件系统, 在文件系统中访问一个文件有三种方式: 相对文件名形式如foo.txt.它会被解析为 currentdirectory/foo.txt,其中 currentdirectory 表示当前目录.因此如果当前目录是 /home/foo,则该文件名被解析为/home/foo/foo.txt. 相对路径名形式如subd

PHP 自动加载类原理与用法实例分析

2020-04-13
本文实例讲述了PHP 自动加载类原理与用法.分享给大家供大家参考,具体如下: 类的自动加载 (Autoloading Classes) 在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件. 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件). 在 PHP 5 中,已经不再需要这样了. spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)

php回调函数处理数组操作示例

2020-04-13
本文实例讲述了php回调函数处理数组操作.分享给大家供大家参考,具体如下: array_reduce- 用回调函数迭代地将数组简化为单一的值 mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) callback[mixed callback ( mixed $carry , mixed $item ) carry--携带上次迭代里的值: 如果本次迭代是第一次,那么这个值是 init

PHPExcel实现的读取多工作表操作示例

2020-04-12
本文实例讲述了PHPExcel实现的读取多工作表操作.分享给大家供大家参考,具体如下: 最近我们公司crm模块需要优化一下客户导入功能,之前的要求是:只需要从单个工作表中获取数据:现在的要求是:需要在多个工作表中获取对应数据,并导入数据库; 幸亏PHPExcel已经给我们提供了获取多个sheet工作表的方法.下面直接上代码:[这里我用的是tp3.2.3] /** * 导入excel文件 * @param string $file excel文件路径 * @return array excel文件

php操作redis常见方法示例【key与value操作】

2020-04-11
本文实例讲述了php操作redis常见方法.分享给大家供大家参考,具体如下: 关于key的操作: 1.获取所有key,不包括值: $redis ->keys("*"); 2.获取一个或多个key的值,[不限制数据类型]: $redis ->mget([$key1,$key2]);//参数为数组: 3.设置指定key的生命周期: $redis ->expire($key,30);//设置生命周期为30秒: 4.获取指定key的剩余生命周期: $redis->tTl

4种Windows系统下Laravel框架的开发环境安装及部署方法详解

2020-04-06
1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5.6.28版(32位)|PHP 7.0.13版(32位)这两个版本的XAMPP都不再支持WindowsXP操作系统,这意味着你需要更高版本的Windows操作系统. 注意:由于Laravel5.1要求PHP 5.5.9+(含)版本,所以要针对该PHP版本要求选择合适的XAMPP. 1.2安装Compo

Laravel5.3+框架定义API路径取消CSRF保护方法详解

2020-04-05
从Laravel 5.3+开始,API路径被放入了routes/api.php中.我们绝大多数的路径其实都会在web.php中定义,因为在web.php中定义的路径默认有CSRF保护,而API路径默认没有CSRF保护.在Laravel官网文档中写到:/p> Any HTML forms pointing to POST, PUT, or DELETE routes that are defined in the web routes file should include a CSRF toke

PHP正则之正向预查与反向预查讲解与实例

2020-04-05
了解正向预查&反向预查前,我们先要知道正则的2个函数:preg_match_all . preg_replace 正向预查&反向预查 正向或反向预查都是非获取匹配,不进行存储供以后使用. 1.正向预查 (?:pattern) 匹配结果 (?=pattern) 正向匹配 (?!pattern) 正向不匹配 2.反向预查 (?<=pattern) 反向匹配. (?<!pattern) 反向不匹配. 什么叫非获取匹配(非捕获匹配),请看例子 一:PHP正则正向预查实例 PHP获取匹配

Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解

2020-04-05
注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下.推荐大家花一点点时间,将自己的Laravel更新至5.6版本. 在后台开发时,我们经常需要获取用户之前操作页面的地址并生成一个返回之前页面的链接. 而Laravel从版本5.2+开始,便提供了一系列全局帮助函数(Helper Functions)来简化我们的工作: https://laravel.com/docs/5.2/helpers#metho

Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解

2020-04-05
从Laravel 5.5+开始,加入了API Resources这个概念. 我们先来看一下官网如何定义这个概念的: When building an API, you may need a transformation layer that sits between your Eloquent models and the JSON responses that are actually returned to your application's users. Laravel's resour