
PHP语言
majinbo111
这个作者很懒,什么都没留下…
展开
-
Leetcode 199. 二叉树的右视图
199. 二叉树的右视图层次遍历二叉树(BFS)/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($val = 0, $left = null, $right = null) { * $thi原创 2021-07-03 23:41:26 · 249 阅读 · 1 评论 -
Leetcode 1143. 最长公共子序列
1143. 最长公共子序列https://leetcode-cn.com/problems/longest-common-subsequence/给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的原创 2021-05-13 09:13:49 · 311 阅读 · 0 评论 -
PHP clone 学习
对象引用传递class Person { public $name; public $age; function __construct($name, $age) { $this->name = $name; $this->age = $age; }}$one = new Person('one', 1);$one_alias = $one;$one_alias->age = 2;var_dump($one,原创 2020-12-09 17:57:40 · 112 阅读 · 1 评论 -
leetcode 98. 验证二叉搜索树
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/validate-binary-search-tree著作权归领扣网络所有。给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3 输出: true示例 2:输入: 5 .原创 2020-11-18 18:19:59 · 110 阅读 · 0 评论 -
leetcode 剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表来源:力扣(LeetCode)https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/著作权归领扣网络所有。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://l原创 2020-11-04 16:38:22 · 131 阅读 · 0 评论 -
Leetcode 剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/著作权归领扣网络所有。用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“C原创 2020-11-04 15:36:31 · 134 阅读 · 0 评论 -
leetcode 445. 两数相加 II
445. 两数相加 IIhttps://leetcode-cn.com/problems/add-two-numbers-ii给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 ->原创 2020-11-03 15:37:51 · 101 阅读 · 0 评论 -
Leecode LRU缓存机制
Leecode 146. LRU缓存机制https://leetcode-cn.com/problems/lru-cache/利用php array的有序性class LRUCache { private $capacity; private $map = []; /** * @param Integer $capacity */ function __construct($capacity) { $this->capac原创 2020-10-26 23:02:44 · 213 阅读 · 0 评论 -
PHP ord chr
PHP ord() 函数定义和用法:ord() 函数返回字符串中第一个字符的 ASCII 值。# 返回 "h" 的 ASCII值:<?phpecho ord("h")."<br>"; // Result:104echo ord("hello")."<br>"; // Result:104?>PHP chr() 函数定义和用法chr() 函数从指定 ASCII 值返回字符。ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定转载 2020-08-24 22:53:53 · 291 阅读 · 0 评论 -
UPLOAD_ERR
HTML<form enctype="multipart/form-data" action="upload.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> <input name="upload_file" type="file"> <input type="submit" value="submit"> </for转载 2020-06-01 02:20:23 · 758 阅读 · 0 评论 -
Laravel Phpunit Test
Create php test unit casephp artisan make:test GetPosTest —unitvim tests/Unit/GetPosTest.php<?phpnamespace Tests\Unit;use App\Services;use Tests\TestCase;use Illuminate\Foundation\Testing\...原创 2020-02-17 16:23:54 · 424 阅读 · 0 评论 -
foreach & 的坑
foreach & as 变量不一样(正常结果)<?php$arr = [11, 22, 33, 44, 55];foreach ($arr as &$val) { $val += 1; var_dump($val);}echo "#############\n";foreach ( $arr as $aa) { var_dump($a...原创 2019-11-04 18:21:09 · 982 阅读 · 0 评论 -
php file_get_contents不能打开https
查看系统有没有 opensslphp -m | grep opensslopenssl#没有安装即可centos php7.3 openssl.cafile如果有 openssl 扩展, 试一下指定 openssl.cafile 的证书文件(绝对路径)重启php-fpm ,再访问试试。...原创 2019-11-04 16:47:28 · 906 阅读 · 0 评论 -
PHP常见漏洞
1、不安全的权限设置安全风险:不安全的权限设置权限为0777表示所有权限均开放,即属性为:drwxrwxrwx(用户可读可写可执行)。修复方案:设置相应的权限,尽量减少权限为0777。2、PHP反序列化漏洞安全风险: PHP反序列化漏洞(PHP对象注入漏洞)传给 unserialize()的参数可控 + 构造序列化字符串 --> 从而控制对象内部的变量甚至是函数修复方案 严格控...原创 2019-04-08 11:31:40 · 2449 阅读 · 0 评论 -
Crontab avoid multiple executions
ContentFirst Wayflock helpcrontab configSecond WayAttention Programing LanguageReferenceTwo ways of crontab avoiding multiple executions. The first way is to use the shell command flock to implement,...原创 2019-05-23 20:03:23 · 115 阅读 · 0 评论 -
php judge exec environment
ContentCODEExeccurlbrowsecommand lineReferenceCODE<?php var_dump(php_sapi_name());//judge exec environmentif( substr(php_sapi_name(), 0, 3) === 'cli') { echo 'yes!';} else { echo 'no!...原创 2019-05-23 17:42:31 · 170 阅读 · 0 评论 -
The difference between two redis connections in PHP
ContentconnectpconnectAdvantages of pconnectconnectThe life cycle of connect mode is only in the running PHP process, when the process ends, the connection is disconnected.pconnectThe lifecycle of...原创 2019-05-24 12:21:05 · 184 阅读 · 0 评论 -
php $_SERVER 学习详解
$_SERVER 示例keyvalue备注USERwww-data执行php的用户名HOME/var/www执行php的用户名的用户路径HTTP_COOKIEuser_cookie=test; user_test=cookie;用户cookieHTTP_ACCEPT_LANGUAGEen-US,en;q=0.9,zh-CN;q=0.8,zh;...原创 2019-05-14 20:44:47 · 4302 阅读 · 0 评论 -
PHP获取两位数三种方法比较
三种方法<?php//微秒数的方式$start = microtime(true);echo substr(microtime(true), -2).PHP_EOL;$end = microtime(true);echo ($end - $start).PHP_EOL;//mt_rand 随机方式$start = microtime(true);echo printf("...原创 2019-05-05 18:03:39 · 1108 阅读 · 0 评论 -
通过userAgent识别请求来源与微信或微信小程序
如何识别http请求是否来自微信客户端在http数据包的header结构中解析“User-Agent”即可,判断是否包含关键字“micromessenger”(这里请注意不要拦截其他微信http请求,所以关键词请匹配好),示例代码如下:String userAgent = request.getHeader("User-Agent");if(userAgent.matches(".*micr...转载 2019-04-18 11:54:11 · 11446 阅读 · 0 评论 -
composer install codeigniter/framework
Install composer原创 2019-06-14 18:55:12 · 370 阅读 · 0 评论 -
AJax commit json and PHP receive json
ContentAJaxPHPReferenceAJax<script type="text/javascript">var data = { id:"1"; name:"test";};$.ajax({ url:'/api.php?action=edit', type:'POST', ...原创 2019-06-04 11:25:36 · 211 阅读 · 0 评论 -
User-agent judgement of mobile devices
contentnginxphpnginxif ( $http_user_agent ~* "iPhone|Android|Opera|BlackBerry|hpwOS|SymbianOS|Windows Phone OS" ) { //do something}php<?php$str = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 li...原创 2019-06-04 14:49:06 · 569 阅读 · 0 评论 -
session共享方式
session共享方式根据自己服务器的流量情况或着资金情况考虑,实事求是,适合当下环境最好的解决方式才是最好的原创 2019-06-11 12:02:41 · 354 阅读 · 0 评论 -
PHP 魔术常量
目录解释例子资料解释有八个魔术常量它们的值随着它们在代码中的位置改变而改变(不区分大小写)。名称说明__LINE__文件中的当前行号。__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。...原创 2019-07-01 17:13:24 · 215 阅读 · 0 评论 -
PHP遍历一个目录中的所有目录与文件
<?php read_all_dir_and_file('/home/jinbo/Desktop');function read_all_dir_and_file($dir) { if (is_dir($dir)) { $dh = opendir($dir); while ( ($file = readdir($dh)) !== false ) ...原创 2019-07-03 11:49:36 · 1404 阅读 · 0 评论 -
PHP shuffle 函数
定义和用法shuffle() 函数把数组中的元素按随机顺序重新排列。该函数为数组中的元素分配新的键名。已有键名将被删除案例1:<?php$my_array = array("red","green","blue","yellow","purple");shuffle($my_array);print_r($my_array);?>//输出Array ( [0]...原创 2019-09-05 18:01:41 · 511 阅读 · 0 评论 -
PHP 引用(&)
变量引用案例:<?php//变量单独引用$test = "a string!\n";$quote = &$test;echo $test; //a string!echo $quote;//a string!$quote = "exchange!\n";echo $test; //exchange!echo $quote;//exchange!unset(...原创 2019-09-05 20:40:53 · 1146 阅读 · 0 评论 -
PHP 超大csv浏览器下载
<?php set_csv_header('test_max.csv'); //设置头部 $sql = "select id, name, sex,age from test"; //查询sql ob_end_clean(); //清除内存 ob_start(); $per_limit = 20000; //每次取数据2w(大约2M的数据,可调整根据实际情况而定)...原创 2019-09-11 10:25:20 · 488 阅读 · 0 评论 -
php 常见问题
问题1:PHP Fatal error: Uncaught Error: Call to undefined function mb_internal_encoding()原因:缺少php扩展 mbstring解决:sudo apt-get install php7.0-mbstring原创 2016-11-20 14:44:00 · 670 阅读 · 0 评论 -
range — 根据范围创建数组,包含指定的元素
range — 根据范围创建数组,包含指定的元素http://php.net/manual/zh/function.range.phprange ( mixed $start , mixed $end [, number $step = 1 ] ) : array建立一个包含指定范围单元的数组。参数start序列的第一个值。end序列结束于 end 的值。step如果设置了步...转载 2019-03-19 11:00:04 · 1214 阅读 · 0 评论 -
代码中where and 拼sql小技巧
代码中 where and 拼sql小技巧,如下:$sql = &amp;quot;where true&amp;quot;;#或$sql = &amp;quot;where 1 = 1&amp;quot;;其他条件就可以使用and 来连接sql$sql .= &amp;quot;and a = 'a' &amp;quot;;$sql .= &amp;quot;and b = 'b'原创 2019-02-21 11:27:48 · 1304 阅读 · 1 评论 -
microtime 获取当前 Unix 时间戳和微秒数
microtime — 返回当前 Unix 时间戳和微秒数说明mixed microtime ([ bool $get_as_float ] )microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。如果调用时不带可选参数,本函数以 “msec sec” 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00原创 2017-12-08 17:28:10 · 2425 阅读 · 0 评论 -
PHP中const和define()定义常量的细节区别
众所周知,在PHP中(PHP 4及以后),我们可以使用函数define()来定义常量,例如:<?phpdefine('PI', 3.14159); //定义一个名为PI的常量echo PI; //输出:3.14159?>不过,在PHP 5.3.0之后,除了使用函数define()之外,我们还可以使用PHP关键字const来定义常量。例如:<?php//以下代码需在PHP 5.3.0及之转载 2017-11-21 12:52:50 · 872 阅读 · 0 评论 -
php mt_rand
定义和用法mt_rand() 使用 Mersenne Twister 算法返回随机整数。语法mt_rand(min,max)说明如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。 很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢转载 2017-11-21 12:10:11 · 363 阅读 · 0 评论 -
PHP 下载txt文件
$filename = "{$edm['title']}edm.txt";header("Content-Type: application/force-download");header("Content-Disposition: attachment; filename=" . basename($filename));ob_start();include "export.html";原创 2017-05-02 10:54:25 · 2926 阅读 · 0 评论 -
php input 表单提交数超过1000的方案
第一种:将php.ini中max_input_vars变大,如: max_input_vars = 5000第二种: 将那些重复的提交信息组提交前变成一个字段去提交;变成一个字段的方法如将信息组变成json,或序列化成字符串原创 2017-03-16 10:47:47 · 4409 阅读 · 0 评论 -
array_filter
array_filter —————-## 标题 ##(PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter — 用回调函数过滤数组中的单元说明array array_filter ( array array[,callablearray [, callable callback [, int $flag = 0 ]] ) 依次将 array 数组中的每个值传递翻译 2016-12-14 11:18:29 · 478 阅读 · 0 评论 -
curl 获取https的配置
http://www.111cn.net/phper/php/57145.htm原创 2016-11-24 15:23:40 · 408 阅读 · 0 评论 -
Ubuntu 查看php已安装扩展及相关软件包
查看php已安装扩展命令 php -m原创 2016-06-17 11:07:23 · 15437 阅读 · 0 评论