
PHP笔记
文章平均质量分 61
ppxin
工作中...
展开
-
数组函数array_对值的覆盖影响
array_flip( array $array) : arrayarray_combine( array $keys, array $values) : array//相同键的值发生覆盖array_merge( array $array1[, array $...] ) : array# 仅相同非数字键的值发生覆盖原创 2022-03-07 14:38:21 · 120 阅读 · 0 评论 -
数组函数array_对键名的影响
对含有不连续数字键名的数组重建索引:array_values( array $array) : array一、对键名保持不变的有:array_filter( array $array[, callable $callback[, int $flag = 0]] ) : array// flag ARRAY_FILTER_USE_KEY | ARRAY_FILTER_USE_BOTH// 导致出现不连续的数字键名array_intersect( array $array1, arra原创 2022-03-07 14:37:28 · 210 阅读 · 0 评论 -
多列取值array_columns(array $input, ?array $column_keys, $index_key = null)
function array_columns(array $input, ?array $column_keys, $index_key = null) { if (empty($input)) { return []; } if (empty($column_keys) && !isset($index_key)) { return $input; } if (empty($column_keys)) { return array_combi.原创 2022-02-11 15:07:33 · 509 阅读 · 0 评论 -
PHP sort & usort & array_multisort 函数
区别:1. sort 用于一维数组排序;2. usort 用于二维数组;3.array_multisort用于多维数组;具体用法如下:一、sort从低到高排序sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool成功时返回 TRUE, 或者在失败时返回 FALSE。参数$array要排序的数组。$sort_flags可选的第二个参数 sort_flags 可以用以下值改变排序...原创 2021-07-30 13:16:14 · 259 阅读 · 0 评论 -
PHP零基础开发之《PHP流程控制-for循环语句》作业答案
利用流程控制语句,编程实现以下习题要求。编程求1至1000累加的和。 Fizz-Buzz 问题:写一个从1打印到100的程序,但是每当遇到3的倍数时,不打印相应的数字,但打印一次"Fizz"。遇到 5的倍数时,打印"Buzz"而不是相应的数字。对于同时为3和5的倍数的数时, 打印"FizzBuzz"。 使用 * 符号打印宽为20,高为10的矩形。 编程打印如下等腰直角三角形:编程打印如下等腰三角形:知识点:PHP_EOLPHP中换行可以用 PHP_EOL 来替代,以提高...原创 2021-06-10 17:08:15 · 703 阅读 · 2 评论 -
总结PHP出现警告的代码
1)foreach一个字符串或NULL时警告,应该为数组或对象。2)count一个NULL或字符串或对象时警告,应该为数组。3)访问了对象不存在的属性时,出现警告。4)访问了数组不存在的索引下标时,出现警告。5)访问对象属性时,对象为NULL,出现警告。6)where_in数组过大时,如$this->db->where_in('location_id',$location_ids); 会出现警告:preg_match(): Compilation failed: re..原创 2020-08-28 11:27:02 · 797 阅读 · 0 评论 -
PHP的进制转换与字符串的编码解码
相关函数有dechex, hexdec, decbin, bindec,bin2hex, hex2bin, pack, 和 unpack,下面我们举例彻底搞清楚这些函数的使用方法。一、进制转换函数 dechex, hexdec, decbin, bindec1、转换为十进制时类型为整数,而转换为二进制和十六进制时为字符串2、进制转换的对象,仅为整数例子:<?php/** * PHP进制转换函数 * 十进制 88 = 十六进制 58 = 二进制 1011000 */$d.原创 2020-07-24 10:40:07 · 1872 阅读 · 0 评论 -
PHP 调试函数
目录1、查看内存量2、打印变量1、查看内存量var_dump(memory_get_usage(true)); //如果设置为 TRUE,获取系统分配总的内存尺寸,包括未使用的页。如果未设置或者设置为 FALSE,仅仅报告实际使用的内存量2、打印变量var_dump($var); //此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通...原创 2019-12-24 17:27:44 · 413 阅读 · 0 评论 -
网络协议基础知识
目录一、基础协议1、网络分层模型2、协议划分3、重点解析1)TCP/IP和UDP协议2)HTTP和HTTPS协议3)WS和WSS协议4)SSL、TLS和SSH协议5)SOAP协议二、应用知识一、基础协议1、网络分层模型 为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978...原创 2019-12-20 16:33:39 · 1879 阅读 · 0 评论 -
CGI与FastCGI介绍
目录当我们在谈到cgi的时候,我们在讨论什么WEB服务器与cgi程序交互一个例子cgi 与 fastcgiPHP-FPM与Spawn-FCGIapache 模块方式当我们在谈到cgi的时候,我们在讨论什么最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不 断发展,网站也越来越复...转载 2019-10-23 09:49:42 · 209 阅读 · 0 评论 -
提高PHP编程效率的53个要点(转)
核心提示:用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo...转载 2019-10-22 09:56:24 · 207 阅读 · 0 评论 -
PHP SESSION机制原理和CodeIgniter3.0 Session并发冲突问题
一、机制原理Session(英文翻译为“会话”),可以在浏览器和服务器之间建立持续的会话访问。在会话管理期间,Session会在服务器上维护一张登记表,记录(session_id, ip_address, user_agent, timestamp, data)等信息,除了data用于服务器端编程记录信息外,其他都是Session自动维护的。使用Session,依据session id和...原创 2019-10-12 17:14:11 · 461 阅读 · 0 评论 -
PhpStorm 快捷键
常用快捷键设置快捷键:File -> Settings -> IDE Settings-> Keymap -> 选择“eclipse” -> 然后“Copy”一份 -> 再个性化设置(自己习惯的)快捷键常用快捷键(keymaps:Default情况下)Esc键编辑器(从工具窗口)F1帮助 千万别按,很卡!F2(Shift+F2) 下/...转载 2019-06-19 16:41:29 · 99 阅读 · 0 评论 -
银行卡编码规则及检验算法详解
转载:https://blog.youkuaiyun.com/wmlml/article/details/54345413一、银行卡结构XXXXXX XXXXXXXXXXXX X发卡行标识代码 自定义位 校验码根据ISO标准,银行卡长度一般在13-19位,国际上也有12位的。银联标准卡卡长度一般是在16-19位,双组织卡也有13-19位的。二、发卡行标识代码发卡行标识代码B...转载 2019-10-08 16:11:31 · 3601 阅读 · 0 评论 -
Ngix 分布式部署相关知识
Nginx中文文档http://www.nginx.cn/doc本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得,欢迎留言交流。Nginx能做什么——反向代理——负载均衡——HTTP服务器(动静分离)——正向代理以上就是我了解到的Nginx在不依赖第三方...转载 2019-10-08 17:26:34 · 134 阅读 · 0 评论 -
PHP 进制转换函数总结
在实践中用到一些进制转换函数,现将部分函数使用方法总结如下:其中,常说的16进制字符串指的是,0-9A-Fa-f的ASCII码字符串。hexdec(PHP 4, PHP 5, PHP 7)hexdec ( string $hex_string ) : number返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为...原创 2019-10-09 09:47:12 · 482 阅读 · 0 评论 -
PHP CodeIgniter 循环发送email邮件时出错 + curl证书
使用PHP CodeIgniter框架进行开发时发现,当循环发送38封邮件时出现以下错误,并且发送很少的几封邮件,上网查了很多资料,大多数人都使用了sleep(5)解决。但我使用sleep(5),甚至sleep(10)都无法将38封邮件全部发送成功,后来改为sleep(15)总算解决问题,但发送时间偏长,用了15分钟。最后,查询框架源代码和php手册,发现了解决办法,最终发送38封...原创 2019-09-24 08:55:48 · 1724 阅读 · 1 评论 -
php页面 最大执行时间"max_execution_time" 和 临时最大缓存"memory_limit"
PHP设置脚本最大执行时间的三种方法1、在php.ini里面设置max_execution_time = 120;2、通过PHP的ini_set函数设置ini_set("max_execution_time", "120");3、通过set_time_limit 函数设置set_time_limit(120);以上几个数字设置为0则无限制,脚本会一直执行下去,直到执行结...原创 2019-09-11 11:40:50 · 943 阅读 · 0 评论 -
PHP 相对路径与绝对路径的区别
目录PHP 相对路径与绝对路径的区别问题描述思考使用绝对路径解决问题总结补充php目录分隔符DIRECTORY_SEPARATORPHP 相对路径与绝对路径的区别问题描述首先我们先来看一下我们这个例子的目录结构以及这三个文件的内容a.php<?php include './c/d.php'b.php<?php...原创 2019-07-01 10:12:46 · 875 阅读 · 0 评论 -
PHPExcel 简单封装类 [ [ Excel.class ] ]
实现功能:(1)读出read();(2)写入数据write(),可以连续写入。(3)导出或保存export();<?php defined('BASEPATH') OR exit('No direct script access allowed');class Excel { public $is_down = FALSE; public $file_name...原创 2019-06-19 12:42:44 · 659 阅读 · 0 评论 -
CSV导出类 [ [ CSV.class ] ]
<?php defined('BASEPATH') OR exit('No direct script access allowed');class CSV { function __construct($params = NULL) { } /** * @param unknown $filename file name * @param unknown $ti...原创 2019-06-19 16:39:00 · 331 阅读 · 0 评论 -
PHP Soap 封装类 [ [ Soap.class ] ]
<?php/** * PHP Soap Client * @author ueaner <ueaner@gmail.com> www.aboutc.net */class Soap { private $mode = 'wsdl'; private $trace = true; // 开启调试 private $soapVersion...转载 2019-06-12 15:41:45 · 493 阅读 · 0 评论 -
PHP Socket 封装类 [ [ Socket.class ] ]
<?php /*** 使用PHP Socket 编程模拟Http post和get请求* @author koma*/ class Socket{ private $sp = "\r\n"; //这里必须要写成双引号 private $protocol = 'HTTP/1.1'; private $requestLine = ""; pr...转载 2019-06-12 15:42:20 · 805 阅读 · 0 评论 -
PHP 开源代码库
https://packagist.org/packages/guzzlehttp/guzzlehttps://github.com/chriskacerguis/codeigniter-restserverhttps://github.com/bcit-ci/codeigniter3-translationshttps://github.com/jamierumbelow/codei...原创 2019-06-06 13:52:41 · 562 阅读 · 0 评论 -
10款最佳PHP自动化测试框架
目录1.PHPUnit2.Codeception3. Behat4. PHPSpec5. SimpleTest6. Storyplayer7. Peridot8. Atoum9.Kahlan10. Selenium为什么测试如此重要?PHP开发新手往往不会测试自己编写的代码,我们中的大多数通过不断测试我们刚刚所编写浏览器窗口的新特性和功能来进行检测,但是...转载 2019-03-01 16:09:00 · 1931 阅读 · 0 评论 -
数据格式转换类 [ [ Format.class ] ]
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');/** * Format class * Help convert between various formats such as XML, JSON, CSV, etc. * * @author Phil Sturgeon, Chr...转载 2019-06-19 16:42:45 · 208 阅读 · 0 评论 -
HTTP(S)请求封装类 Snoopy2.0.0(开源)
开源地址:https://sourceforge.net/projects/snoopy/,小而好用,缺点自己网上搜索。<?php/************************************************* * * Snoopy - the PHP net client * Author: Monte Ohrt <monte@ohrt.com&g...转载 2019-06-20 16:11:36 · 488 阅读 · 0 评论 -
PHP 几种常见超时的设置方法
一、PHP文件 执行超时(1)初始设置脚本执行时间打开php.ini文件,找到:max_execution_time=30修改为:max_execution_time=600如果你没有服务器修改权限,可通过内置PHP脚本的方法设置超时时间,在需要执行长时间操作的PHP文件中添加以下代码:<?phpini_set('max_execution_time',...原创 2019-07-04 10:37:48 · 37899 阅读 · 0 评论 -
Web跨域请求及其解决方案
目录一、理论概述1. 什么是跨域请求(Cross-domain Request)2. 浏览器的同源策略(Same-origin Policy)3. 存在的安全风险4. CSRF攻击简介二、跨域方案1.跨域资源共享(CORS)(1)CORS简单请求(2)CORS非简单请求(也称预检请求)HTTP 响应首部字段Access-Control-Allow-Or...原创 2019-07-08 13:34:17 · 42377 阅读 · 6 评论 -
PHP include与require的区别
在学习php过程中,常会用到这两种引入的方法。1、require这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。2、include这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,...转载 2019-06-27 08:32:22 · 144 阅读 · 0 评论 -
PHP 获取 HTTP POST 请求的四种方式
目录一、HTTP POST请求常见的四种方式(1)application/x-www-form-urlencoded(2)multipart/form-data(3)application/json(4)text/xml二、PHP获取参数的方式一、HTTP POST请求常见的四种方式HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD...原创 2019-07-02 15:29:17 · 18618 阅读 · 0 评论 -
PHP + Mysql 开发效率疑问
用mysql自带函数有什么不好?1.很可能造成where后的条件无法走索引2.把一些php层面简单的业务逻辑交给mysql来做,加大了mysql的压力(尽管可能你看来执行一次sql语句影响很小),对小系统而言没什么。如果对于大型系统,那会是灾难。大型系统的瓶颈基本都在数据库层面难以扩展,php很容易的水平扩展,php不会是瓶颈,因此,尽可能的降低数据库的处理压力,包括减少查询次数通过cac...转载 2019-06-25 16:31:39 · 169 阅读 · 0 评论 -
PHP array_merge 与 array+array 的区别
在PHP中,对两个数组进行合并,有两种方法:array_merge 函数 和 运算符加 array+array。但两者的处理方法和效率并不相同,下面为大家介绍两者具体的使用区别。一、处理方法:1、当下标为数值时,array_merge()不会覆盖掉原来的值,但array+array合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。2、...转载 2019-06-25 16:01:54 · 225 阅读 · 0 评论 -
收藏PHP工具类(开源)
PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转、数字、金额大写;QQ群:74401592。https://gitee.com/yurunsoft/ChineseUtilA Collections-only split from Laravel's Illuminate Supporthttps://github.com/tightenco/collect...转载 2019-06-20 16:48:27 · 145 阅读 · 0 评论 -
PHP Curl 封装类 [ [ Curl.class ] ]
CURL SSL 认证问题http://www.3mu.me/php%E7%9A%84curl%E9%80%89%E9%A1%B9curlopt_ssl_verifypeer%E8%AF%A6%E8%A7%A3/https://www.liangzl.com/get-article-detail-14723.htmlhttps://www.cnblogs.com/zwesy/p/94618...原创 2019-06-06 14:23:48 · 1557 阅读 · 0 评论