
PHP
文章平均质量分 73
sKy_zHe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php排序 asort usort实例 对数组的多个字段排序 稳定排序
php中有很多排序函数,下面是常用的一些:sort() 函数用于对数组单元从低到高进行排序。rsort() 函数用于对数组单元从高到低进行排序。asort() 函数用于对数组单元从低到高进行排序并保持索引关系。arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。usort() 使用用户自定义的比较函数对数组中的值进行排序uasort() 使用用户自定义的比较函数对数组中原创 2013-03-25 22:59:53 · 6121 阅读 · 2 评论 -
PHP的PSR-0标准利用namespace来做autoloading
介绍PSR-0之前,先来说说命名空间(NameSpace)和Auto原创 2014-08-13 13:31:50 · 7156 阅读 · 0 评论 -
浅析CodeIgniter框架工作原理
CodeIgniter是一个流行的PHP框架,小巧但功能强大,原创 2014-08-26 23:15:43 · 4201 阅读 · 0 评论 -
Composer中的自动加载
Composer是PHP的一个包依赖管理工具,类似Ruby中的RubyGems或者Node中的NPM,它并非官方,但现在已经非常流行。在此并不介绍如何使用Composer,来看看有关它autoload的内容吧。举个栗子,假设我们的项目想要使用monolog这个日志工具,就需要在composer.json里告诉composer我们需要它:{ "require": { "monolog/原创 2014-08-17 22:47:42 · 9474 阅读 · 1 评论 -
理解Flight框架核心
Flight框架是一个微型的PHP框架,它简单,快速,可扩展。虽然它一个微型的框架,但我在阅读Flight代码的过程中,感到了它设计和构思独特而精妙的地方,觉得有学习的价值,便决定做一下整理分享出来。原创 2014-09-07 02:29:51 · 4990 阅读 · 0 评论 -
PHP你可能也会掉入的坑(二)
在PHP的实际开发过程中遇到的一些坑,其中有部分是自己的理解不够而造成的,坑到深处,真是泪流满面啊。关于整数与字符串比较,这个问题纠正过别人一次,最后不想自己也栽进来了,真是难堪,记下来,谨防再犯!直接来看这个例子:<?php$foo = 0;$bar = 'a3b4c5';if ( $foo < $bar ) { echo 'output';}原创 2013-11-11 21:26:03 · 1567 阅读 · 0 评论 -
Flight框架中文文档
Flight(官网)是一个快速,简单,可扩展的微型PHP框架。文档地址:https://github.com/baizhebz/flight-doc-cn由于文档是Markdown格式编写的,而优快云 Blog并不支持这种格式,就不把文档内容搬过来了。翻译 2014-09-04 13:12:20 · 5357 阅读 · 0 评论 -
利用浏览器控制台(Console)进行PHP Debug
当我们的PHP程序Debug时,比较常用的方式是将变量的信息打印到浏览器中,例如这样:<?phpecho '';print_r($bar);echo '';exit;可是直接打印出来有可能会干扰你的页面,打乱布局,影响作为Api返回的数据等问题。这时我们可以采取将调试信息输出到文件的方式,如下是最简单的例子:error_log(print_r($bar, true));可是原创 2014-03-22 17:21:01 · 54175 阅读 · 1 评论 -
php中如何判断数组相等 数组运算符介绍
如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了php手册里说明如下,例子名称结果$a + $b联合$a 和 $b 的联合。$a == $b相等如果 $a 和 $b 具有相同的键/值对则为 TRUE。$a === $b全等如果 $a原创 2013-08-01 14:28:29 · 6091 阅读 · 0 评论 -
解决windows下Composer因php_openssl扩展缺失而安装失败的问题
Composer(https://getcomposer.org/)是PHP下的一个依赖管理工具。你可以在你的项目中声明你所需要用到的类库,然后Composer会在项目中为你安装它们。如果你了解Node的npm或者Ruby的Bundler,就理解它是做什么的了,但是,它不是包管理器。在Windows的Wamp环境下安装Composer(注:Composer要求PHP版本在5.3.2+)原创 2014-03-17 22:56:08 · 14351 阅读 · 2 评论 -
简单且强大的PHP调试工具 Kint
介绍给大家一个很好用的PHP DEBUG工具---Kint http://raveren.github.io/kint/,在它的主页上你几乎能获取所有关于它的信息了,我在这里只是对这个工具及其使用做个简要介绍。它是一个无需安装的,易用的,强力的PHP调试助手,它能很好的替代var_dump(),print_r(),debug_backtrace()这些函数。它设计的目的就是原创 2013-11-12 13:25:06 · 5290 阅读 · 1 评论 -
PHP你可能也会掉入的坑
今天被人问:$var = 'test';if (isset($var['somekey'])){ echo 'reach here!!!';}会不会输出'reach here!!!'? ---当然不会啊。我想也没想就答。果然,我掉坑里了!会输出的!如果你没掉坑里,那么恭喜你,你也不用往下看了。现在,让我们来分析一下。既然 isset 了,那么之到底是什么呢?我原创 2013-09-24 20:54:48 · 1388 阅读 · 0 评论 -
Alias Method解决随机类型概率问题
举个例子,游戏中玩家推倒了一个boss,会按如下概率掉落物品:10%掉武器 20%掉饰品 30%掉戒指 40%掉披风。现在要给出下一个掉落的物品类型,或者说一个掉落的随机序列,要求符合上述概率。一般人会想到的两种解法第一种算法就是,构造一个容量为100(或其他)的数组array,将其中10个元素填充为类型1(武器),20个元素填充为类型2(饰品)...构造完毕之后,在1到100之间取随机数原创 2013-08-24 14:47:27 · 9878 阅读 · 0 评论 -
php用apc实现的临界区 解决并发,资源互斥同步访问
在面对线程或进程的互斥同步的控制问题时,常用的解决办法是:临界区,互斥锁,信号量临界区保证在某一时刻只有一个线程能够访问到所需资源的方法。任何时候,只能至多有一个线程处于临界区中。如果多个线程要求进入临界区去访问所需资源,那么在临界区空闲时只允许一个线程进入。若已有线程在临界区内,那么其他的线程必须等待,直到进入的线程离开(应该在限制时间内离开)。离开后,其他线程继续抢占。临界区与互斥原创 2013-08-06 15:57:20 · 3306 阅读 · 0 评论 -
PHP中如何防止SQL注入
这是StackOverFlow上一个投票非常多的提问 How to prevent SQL injection in PHP? 我把问题和赞同最多的答题翻译了下来。本人翻译水平很渣,请读者见谅。提问:如果用户的输入能直接插入到SQL语句中,那么这个应用就易收到SQL注入的攻击,举个例子:$unsafe_variable = $_POST['user_input'];mysqli_q翻译 2013-08-03 12:12:09 · 11868 阅读 · 1 评论 -
php 检测一个变量是否设置时,empty()能代替isset()吗?
我们先来复习一下empty和isset php手册解释的比较清楚了,可如果一个变量未设置时,empty返回什么结果呢? 可见empty也可以起到检测变量是否设置的目的。那么该不该使用empty代替isset呢? isset和empty的性能? 它们都是语句,不是函数 目前最新的PHP5.5的发布支持了这一特性,即能够在empty中使用任意表达式:原创 2013-07-20 16:18:42 · 4618 阅读 · 0 评论 -
php array_merge的坑,数字键名不会覆盖前值
使用php语言的array_merge函数时,以为相同的键名会覆盖,但是请看如下代码:$a1 = array(1=>'abc', 3=>10);$a2 = array(1=>'efg', 3=>20);print_r(array_merge($a1, $a2));会输出什么?我们预想中的是:Array( [1] => efg [3] => 20)实际上输出的原创 2013-06-02 12:28:10 · 8780 阅读 · 0 评论 -
php 生成不重复随机数(组)的几种方法
下面写几种生成不重复随机数的方法,直接上代码吧<?phpdefine('RANDOM_MAX', 100);define('COUNT', 10);echo 'max random num: '.RANDOM_MAX, ' ;result count:'.COUNT, '';invoke_entry('rand1');invoke_entry('rand2');invo原创 2013-07-07 11:30:22 · 8017 阅读 · 0 评论 -
PHP PSR-4与PSR-0规范
在上一篇文章中,介绍了PSR-0和autoload相关的内容。继PSR-0这个PHP自动加载的规范之后,PHP-FIG又推出了一个PSR-4,称为改进的autoload规范。在此不详谈两者的定义了。在PSR-0中,\Symfony\Core\Request会被转换成文件系统的/path/to/project/lib/vendor/Symfony/Core/Request.php这个路径。PSR原创 2014-08-16 22:35:10 · 16505 阅读 · 1 评论