分类目录归档:PHP

PHP 相关技术文章,包括 PHP 使用技巧、PHP 教程、PHP 性能优化及 PHP 开发中的常见问题。

解决 PHP 中 usort 在值相同时改变原始位置的问题

从 PHP 4.1.0 后,usort 在比较的值相同时,原始位置可能会改变,文档中是这样说的:If two members compare as equal, their order in the sorted array is undefined. 也就是说,如果比较的2个值相同,则它们在排序结果中的顺序是随机的。如果你需要保持相同值的原始位置,可以参考本文的方法。 继续阅读

发表在 PHP | 标签为 , , , , | 留下评论

PHP 中检查或过滤 IP 地址

网络环境异常复杂,有时候我们不得不禁止一些恶意用户访问,禁止的方式有很多种,其中一种就是通过 IP 来限制,本文提供的方法允许你通过 IP 区间、CIDR(Classless Inter-Domain Routing)及单个 IP 格式来检查或过滤 IP 地址。 继续阅读

发表在 PHP | 标签为 , , , | 3 条评论

PHP 的 array_diff() 函数在处理大数组时的效率问题

PHP 5.2.6 以上版本的 array_diff() 函数在处理大数组时,需要花费超长时间,这个 bug 已经被官方确认;在这个问题被修复之前或者在我们不能控制 PHP 版本的时候,可以使用本文提供的方法。 继续阅读

发表在 PHP | 标签为 , , , , , , | 2 条评论

在 XSLTProcessor 中 registerPHPFunctions 后无法调用 php 函数

XSLT 是一个非常方便的转换 XML 的工具,PHP 里面是通过 XSLTProcessor 来实现;XSLT 中内置了许多有用的函数,同时,只需要调用 XSLTProcessor 实例的 registerPHPFunctions 方法,我们就可以在 XSLT 中直接使用 PHP 的函数,这大大增强了 XSLT 的处理能力。

但是,在 XSLT 中使用 PHP 函数时,很多人会遇到 “Warning: XSLTProcessor::trans bound to undefined prefix php” 的错误提示。如果你也遇到这个问题,那请继续浏览本文吧! 继续阅读

发表在 PHP | 标签为 , , , , , , | 留下评论

获取 $_SERVER["REQUEST_URI"] 值的通用解决方案

在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。 继续阅读

发表在 PHP | 标签为 , , , , , | 留下评论