
【语言】
文章平均质量分 53
exponent
爱看海贼王的猿
展开
-
phpstorm增加swoole自动提示
安装完swoole扩展后,准备敲个例子尝试一下,发现所有的swoole函数全部反白,没有代码提示,看起来很难受,搜索了一番,总算是解决掉这个问题了。下载swoole-ide-helper-engit clone https://github.com/eaglewu/swoole-ide-helper.git 打开PHPStorm 右键External Libraries,选择Configure原创 2017-09-28 23:38:25 · 13898 阅读 · 0 评论 -
php文件夹遍历的几种方法
函数function dirTree(){ if(!is_dir($path)) return []; $files = []; $dir = opendir($path); while($file = readdir($dir)) { if($file == '.' || $file == '..') co...原创 2018-03-01 11:34:27 · 924 阅读 · 1 评论 -
isset($var)、empty($var)、($var)之间的区别
php内置了很多对变量进行判断的方式,有几种常用的方式的判断结果容易混淆issetisset是当且仅当变量为NULL才会返回false,否则返回true,与is_null()完全相反有三种情况下变量为NULL 1. 赋值为NULL 2. 未被赋值 3. unset()isset和is_null还是有区别的:isset是语句,is_null是函数,有关语句...原创 2018-03-15 20:37:03 · 492 阅读 · 0 评论 -
PHP对二维数组排序的几种方式
方法一function multiSort($arr, $field, $sort = SORT_ASC){ array_multisort(array_column($arr, $field), SORT_ASC, $arr); return $arr;}方法二:function multiSort($arr, $field, $sort = SORT...原创 2018-03-15 21:01:58 · 2260 阅读 · 0 评论 -
PHP并发读写文件的解决方案
在并发高的情况下,操作同一个文件会导致数据错乱,所以需要在操作文件时进行一些特殊处理,下面总结一下几种解决方案。方案一:使用flock函数对文件加锁/* * flock(file,lock,block) * file 必需,规定要锁定或释放的已打开的文件 * lock 必需。规定要使用哪种锁定类型。 * block 可选。若设置为 1 或 true,则当进行锁定时阻挡其...原创 2018-03-07 19:02:20 · 1283 阅读 · 0 评论 -
计算机内存对数字的存储方式——原码、反码、补码
计算机在存储数字时,已最高为作为数值符号进行存储,0表示正数,1表示负数原码 所谓原码,就是将数值转化为二进制+1: 0001原创 2017-11-01 16:22:38 · 2099 阅读 · 0 评论 -
C实现简单列表
C primer快看完了,今天自己试着实现书上简单列表的例子,遇到了一些坑,稍微总结一下。在C里面,数组是内存块,通过下标访问这些内存块。因此,在C里面的数组只能使用整数且有序的键值,像PHP中那样简单便捷的关联数组在C中是不存在的。所以,想要处理复杂的数据集的时候,就需要使用数据结构,链表就是其中之一。原创 2017-09-16 21:09:03 · 5459 阅读 · 0 评论 -
C——指针总结
1. 介绍指针是一个值为内存地址的变量 ptr = &var; //将变量var的地址赋给变量ptr,变量ptr就是指向变量var的指针 而对于ptr和&var来说,ptr是一个变量,&var则是一个常量,变量可以被赋值改变,而常量不可以2. 获取值当得到一个指针时,就可以得到这个指针所在的值var1 = *ptr //此时var1==var符号*,叫间接运算符,也叫取值运算符原创 2017-08-31 23:46:32 · 356 阅读 · 0 评论 -
C——数组总结
C的数组在声明时必须指定长度int arr[5]; //声明一个长度为5的int型数组同一个数组的元素都是同一种数据类型声明数组的同时可以初始化数组元素int arr[5] = {1, 2, 3, 4, 5};未初始化的数组在输出时其值是不定的初始化数组元素小于数组长度时,多余的数组元素会被初始化为0初始化数组时,可以省略数组的长度,编译器会自动根据元素个数匹配数组的长度可以声明数原创 2017-08-31 22:54:39 · 376 阅读 · 0 评论 -
C——printf和scanf函数
printf(“format_string”, var1, var2 [,var3…]) 返回值:输出的字符数转换说明符 转换说明 输出 %a 浮点数,十六进制,p-记数法 %A 浮点数,十六进制,P-记数法 %c 一个字符 %d int,十进制 %i int,十进制 %u unsigned int %o int,八进制 %#o原创 2017-08-31 09:45:43 · 553 阅读 · 0 评论 -
C——code::blocks安装(windows)
最近开始研究C语言,目前学习C语言的目的是为了PHP的提升,因为PHP底层是由C语言实现的,总是要有目标的嘛,希望能坚持下去。学习的第一步肯定是先搭建环境,因为VS太庞大,这陪伴了我快6年的小本儿已经呼呼叫了,实在不忍心让他受太大的苦,就选择code::blocks安装了。好了,下面总结一下code::blocks的安装步骤下载 code::blocks需要GCC编译器的环境来支持,原创 2017-05-18 23:39:36 · 767 阅读 · 0 评论 -
Jquery——数组与对象的遍历
1、grep语法:grep(array, callback, [invert]) 参数:array:待过滤数组callback:此函数将处理数组每个元素。第一个参数为当前元素,第二个参数而元素索引值。此函数应返回一个布尔值invert:如果 “invert” 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当”invert” 为 true,则返回过滤函数中返回 f原创 2017-06-20 16:47:30 · 509 阅读 · 0 评论 -
js调用移动端原生方法
问题描述:移动端使用webview打开网页,网页中需要用js调用移动端原生的方法来实现另外的一些功能。解决方法:首先,需要判断是android端还是ios端//判断是否为ios端访问function _IsIOS() { if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { return true; }原创 2017-05-24 15:30:00 · 4357 阅读 · 0 评论 -
js获取网页所有图片
需求在网页中单击某张图片,图片能放大显示,且能按顺序切换图片,同时,一些小图标和不符合要求的图片不能放大。 由于网页是在app中打开,图片的放大与切换由移动端实现,因此,需要用js调用原生方法,并传递所有图片的url解决var img = [];for(var i=0;i<$("img").length;i++){ //获取所有符合放大要求的图片,将图片路径(src)获取 if(p原创 2017-05-12 10:47:52 · 2659 阅读 · 0 评论 -
php的psr规范(accept)
官网地址ACCEPT(公认的)psr0:自动加载规范(旧)这个规范可以抛弃了psr1:基本编码规范php文件必须以<?php或<?=标签开始php文件必须是utf-8无BOM编码格式一个源文件建议只用作定义类、函数、常量等声明,或者其他产生从属效应的操作(如:输出信息,修改配置文件等 命名空间和类必须符合自动加载规范类的命名必须遵守以大写开头...翻译 2018-04-07 14:01:00 · 584 阅读 · 0 评论 -
PHP网页的工作原理
讲道理好久没写博客了,想了很久也不知道如何开始,终于觉得这样很浪费时间,还是先随便开始写点什么吧,写的多了,总会开始顺手的。今天了解了一下PHP网页的基本工作原理,总结了一下,乱乱的弄了个思维导图,贴上来吧。关于DNS域名解析:作用:将域名解析成IP地址,然后浏览器以这个IP地址访问服务器本机DNS:即windows的一个系统文件hosts,打开方法为:在运行中原创 2016-10-09 23:48:15 · 4293 阅读 · 0 评论 -
PHP开发环境搭建
php的运行环境有两种:第一种在windows下(WAMP),第二种在Linux下(LAMP)WAMP:即windows、apache、mysql、phpLAMP:即Linux、apache、mysql、php今天搭建了在windows下的环境。流程:分为三部分,但没有先后顺序说明:apache、mysql、php最好放在同一目录下,便于管理文件路径各有不同原创 2016-10-10 23:14:13 · 407 阅读 · 0 评论 -
MAMP配置swoole
1. pecl安装pecl安装方式很简单,直接使用php的pecl命令即可。 由于我的环境使用的是mamp pro,在命令行中直接使用php命令调用的是mac自带的php,所以想把swoole扩展安装到正确的地方就需要找到mamp中对应的php。 mamp中的php路径如下:/Applications/MAMP/bin/php该目录下有所有的mamp所包含的php版本,找到你当前使用的php版本原创 2017-09-28 23:12:07 · 1048 阅读 · 0 评论 -
linux工作与进程管理
将工作丢到后台执行:&将工作丢到后台并暂停: [ctrl+z]查看后台工作jobs [-lrs] -l:除了列出job number与命令串之外,同时列出PID -r:仅列出正在后台run的工作 -s:仅列出正在后台暂停的工作 将工作拿到前台来处理fg %jobnumberfg表示foreground让工作在后台的状态变为运行中bg %jobnumber管理后台工作kill原创 2017-09-25 23:05:59 · 310 阅读 · 0 评论 -
windows下安装php扩展
1. 介绍php本身就带有很多各种各样的扩展,如gb2,mysql,curl等等,这些扩展可以满足日常开发的大部分需求,但是,当需要使用php本身扩展不支持的功能的时候,就需要自己安装扩展了,比如当使用redis时,就需要自己安装redis扩展。2. windows下安装扩展确定php版本,运行方式(nts还是ts),平台支持(vc9,vc11,vc14)以及cpu架构(x64,x86) 可以原创 2017-08-25 15:13:01 · 2078 阅读 · 0 评论 -
PHP——指定顺序的排序
问题描述遇到一个需求,需要对一个数组按指定顺序进行排序,如$sort_rule = [5,7,3,1,8,2];$arr = [1,2,3,5,7,8];//需求,将数组$arr以$sort_rule指定的顺序进行排序解决方式1$a = array_intersect($sort_rule,$arr); $b = array_diff($arr,$sort_rule);$re = arra原创 2017-08-07 19:03:21 · 3275 阅读 · 0 评论 -
PHP的ftp操作
1. 连接ftp服务器false|handle ftp_connect(string $host, int $port); 该函数接收ftp服务器主机名与端口号,端口号可选,返回一个ftp句柄,连接失败返回false2. 登陆ftp服务器bool ftp_login(ftp_handle $conn, $user, $pwd); 该函数需要一个ftp的连接句柄,用户名与密码,登陆成功返回t原创 2017-08-03 00:20:33 · 760 阅读 · 0 评论 -
mamp——搭建PHP环境
下载mamp点我下载配置mamp打开mamp pro配置端口如下图:只要点击箭头所指的按钮就可以了。ps:需要注意所设置的端口没有被占用,如果被占用了就手动设置其他的端口。选择php版本配置虚拟主机1.打开apache配置文件2.加入如下的配置命令,引入虚拟主机配置文件Include /Applications/MAM原创 2017-07-29 19:12:35 · 1142 阅读 · 0 评论 -
PHP类的自动加载与命名空间及use的理解
今天写一个demo,遇到一个问题,平时框架用多了,下意识的就以为use就能引入类,导致一直跑不成功,后来才意识到use与引用类并不是一回事。use只是指定了要使用哪个命名空间下的类,但是并不会引入类,类的引用还是需要使用include或require。这里记录一下这次事件的总结,加深一下印象。类的引用创建一个类文件ClassA.class.phpnamespace AreaA;class Clas原创 2017-07-03 23:58:24 · 4374 阅读 · 0 评论 -
PHP流封装协议
流的通信过程:1、开始通信2、读取数据3、写入数据4、结束通信描述:每个流都有一个协议和一个目标。指定协议和目标的方法是使用流标识符。其格式如下://其中,是流的封装协议,是流的数据源HTTP://流封装协议示例:$json=file_get_contents('http:/原创 2017-06-26 22:01:43 · 1309 阅读 · 0 评论 -
PHP命名空间
1、老版本php解决类名冲突类名:Zend_Cloud_DocumentService_Adapter_WindowsAzure_Query原生的自动加载器会把类名中的下划线替换成文件系统的目录分隔符,从而确定类文件路径。2、类的使用单纯的使用命名空间$response = new \Symfony\Component\HttpFound原创 2017-06-23 16:21:42 · 472 阅读 · 0 评论 -
H5页面实现上拉加载更多
问题描述:微信公众号开发中,文章列表需要实现与app端相同的上拉加载更多的功能。这里使用的PHP框架为ThinkPHP。解决方式H5页面——首页(显示页):<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>document</title> <meta name="viewport" content="ini原创 2017-05-24 15:52:06 · 8637 阅读 · 0 评论 -
TP框架url重写模式报错
刚开始一个项目,php版本为5.6,TP版本为3.2,在配置TP配置项‘URL_MODEL’为2后,访问http://www.xxx.com/index.php/admin/index/login时正常,访问http://www.xxx.com/admin/index/login报错 错误信息:No input file specified 错误原因:.htac原创 2017-02-12 11:27:24 · 2389 阅读 · 0 评论 -
memcache实现session共享
session的本质:http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。因此,在某些为了让服务器记住或者认识你的情况下,该怎么办呢?为了解决这个问题,session就诞生了。session共享:为什么要session共享呢?如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,用户每次请求的都是这原创 2017-01-15 13:23:55 · 3362 阅读 · 0 评论 -
GET传值
上一篇总结了POST传值,这篇就总结一下GET传值。用$_GET接收数据有四种方式,感觉用形式更贴切一些,下面列举:形式一:通过表单,这种形式和$_POST获取数据的方式很类似获取形式:$dataVar=$_GET['表单元素name属性的值'];形式二:通过地址栏,直接在地址栏中输入数据,如新闻标题$id=$_GET[‘news_id’];在地址栏中进行传原创 2016-10-13 22:30:27 · 4305 阅读 · 0 评论 -
POST传值
PHP里有一种变量叫超全局变量。超全局变量在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。表单的传值方式有两种,一种是post方式,通过http包进行传值,另一种get方式,通过地址栏进行传值,相对来说post方式安全性更高一些。在表单的method属性设置为post时,PHP在后台获取数据时就需要用到一个超全局变量,$_POST。$_POST特点:原创 2016-10-12 23:43:46 · 4892 阅读 · 0 评论 -
laravel多条件查询(and,or嵌套查询)
说明在日常开发中,经常会需要写多条件的数据库查询语句。在使用框架的情况下,单纯使用原生sql查询会导致结果与model无法对应,也就没有办法使用框架的一些便利的方法对结果集进行处理。尤其是laravel提供了非常多的对查询结果集进行处理的工具。所以最好是使用laravel提供的ORM进行多条件的数据库查询。问题比如需要执行这样一条sql语句select * from ...原创 2018-05-18 15:02:46 · 28980 阅读 · 1 评论