PHP
iteye_18070
这个作者很懒,什么都没留下…
展开
-
十进制转十六进制的方法
今天看PHP的源代码,看到了bin2hex方法的实现,该函数功能是获取某字符的assii码的十六进制表示。本质就是将一个十进制的数转换成十六进制。而改十进制数必须是8位的,即可以通过一个两位的十六进制数表示。其核心算法只有两行:1: data>>42: data&15 最终结果就是:data>>4.data&15 ...原创 2011-06-01 00:37:23 · 589 阅读 · 0 评论 -
PHP将一个日期字符串转换成举例当前的天数
输入为一个日期字符串,例如:2011-3-23输出为举例当前的天数,例如:1 代码为: public static function convertDateToLong($dateStr){ $checkPattern = "/^\d{4}(((-\d{1,2}){2})|((\.\d{1,2}){2})|((\/\d{1,2}){2}))$/";...2011-03-24 16:55:53 · 310 阅读 · 0 评论 -
php 截取字符串问题
在编程中经常与遇到将一个字符串根据某个字符切分的问题。一般我们会用explode将字符串切分成一个数组,然后进行进一步的操作。但假如有一个需求是要截取一个字符串中某两个相邻的分割字符中间的字串,那么用explode就显得有点浪费了。毕竟很多其他的被截取出来的字串用不到阿。浪费了空间也浪费了计算。 今天发现了一个方法,就是用preg_match。(如有雷同,实属缘分) ...原创 2011-02-27 00:28:41 · 90 阅读 · 0 评论 -
生成固定长度的某字符的字符串 PHP
在编程时,有时候会需要生成固定长度的空格或者特殊字符,以用于数据对齐等。今天讨论用php生成固定长度的某字符的字符串的一些方法。 方法一:二倍迭代拼接 function getchars($c,$length){ $binchars = decbin($length); $binchars_arr = str_split($binchars...2011-02-16 10:56:48 · 587 阅读 · 0 评论 -
朴素贝叶斯分类器的实现 (php)
本文用php实现了一个朴素贝叶斯分类器,针对属性值为离散型变量的记录进行贝叶斯分类。 通过对sample.csv文件中数据的学习,得到分类模型,然后对predict.csv中的数据的类指标进行预测。针对每个被预测数据,计算属于每个类的概率,然后概率最大的类就是该数据被预测的类归属。 附件中包含了程序文件:bys.php,样本文件:sample.csv,待预测数据文件:pred...原创 2011-02-14 13:41:54 · 260 阅读 · 0 评论 -
详解PHP中Array结构HashTable
我们知道PHP中的Array在内部是以Hash的结构进行存储的。本文主要重点也是对PHP中Array的静态结构和动态结构进行分析和记录。这里的静态结构,是指存储PHP中Array数据时使用的数据结构,即所谓的HashTable。动态结构,是指程序在运行过程中,Array数据的存储状态。 首先PHP中的hashTable的结构如下:typedef struct bucket ...原创 2011-07-12 19:44:30 · 150 阅读 · 0 评论 -
再谈PHP中的str_repeat函数实现
前段时间讨论了在PHP中生成某多个某字符或字符串的字符串的问题,呵呵。这句话听起来太别扭了。举个例子就是,生成10个a的字符串就是aaaaaaaaaa。当然这里的a可以是ab或任何其他字符串。 在博客“生成固定长度的某字符的字符串 PHP ”中描述了一共5中方法。也对这五种方法的效率进行了比对,其中以PHP中自带的str_repeat函数效率最优,这也在意料和情理之中。方法4,5都...2011-07-01 00:17:11 · 334 阅读 · 0 评论 -
关于PHP的strtoupper函数
今天看到了PHP实现的标准扩展函数这一段,第一个挑了string相关的函数来看,毕竟这个是用的最多的。看到了strtoupper函数的实现。如下:char *php_strtoupper(char *s, size_t len){ unsigned char *c, *e; c = (unsigned char *)s; e = (uns...2011-06-28 21:49:34 · 404 阅读 · 0 评论 -
编译PHP为interactive shell
将PHP编译为interactive shell模式需要在configure的时候使用 --with-readline --with-libedit当然本机环境中需要安装readline-common\libedit2\libedit-dev才能configure通过然后make install即可...原创 2011-06-01 23:24:07 · 158 阅读 · 0 评论 -
PHP中Array的hash函数实现
今天回顾学习了PHP中变量实现的方法,在浏览其源码是发现在PHP中所有的数据类型通过一个union存储。php语言是弱类型语言,其实现中通过记录变量的类型和值来实现其管理。 PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N...2011-05-10 21:49:57 · 268 阅读 · 0 评论