2013年10月18日

摘要: 01 阅读全文
posted @ 2013-10-18 16:53 以为是帅哥 阅读(515) 评论(0) 推荐(0) 编辑
 
摘要: 简单的掷骰器许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 1 到 6 之间选择一个随机数字。在 PHP 中,这十分简单:echo rand(1,6);。在许多情况下,这基本上很简单。但是在处理机率游戏时,我们需要一些更好的实现。PHP 提供了更好的随机数字生成器:mt_rand()。在不深入研究两者差别的情况下,可以认为 mt_rand 是一个更快、更好的随机数字生成器:echo mt_rand(1,6);。如果把该随机数字生成器放入函数中,则效果会更好。1. 使用 mt_rand() 随机数字生成器函数:1 function r... 阅读全文
posted @ 2013-10-18 16:42 以为是帅哥 阅读(764) 评论(0) 推荐(0) 编辑
 
摘要: 每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁,防止程序执行内存溢出。一、PHP 垃圾回收机制(Garbage Collector 简称GC)在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP的GC垃圾处理机制,防止内存溢出。当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中所有对象同时被销毁。GC进程一般都跟着每起一个SESSION而开始运行的。gc目的是为了在session文件过期以后自动销毁删除这些文件。二、__dest 阅读全文
posted @ 2013-10-18 16:39 以为是帅哥 阅读(204) 评论(0) 推荐(0) 编辑
 
摘要: 数组的遍历是PHP一个常见的编程任务,而数组又分为一维数组、二维数组和多维数组。一维数组的遍历很简单,直接一个for循环就可以完成。那么二维数组和多维数组的遍历又应该如何实现呢?请看以下程序: $val ) { if (is_array ($val)) { arr_foreach ($val); } else { echo $val.''; } }}$arr1 = array (1=>array(11,12,13,14=>array(141,142... 阅读全文
posted @ 2013-10-18 16:36 以为是帅哥 阅读(830) 评论(0) 推荐(0) 编辑
 
摘要: 数据库缓存数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。激活缓存需要三步: 在服务器上创建一个可写的目录以便保存缓存文件。 在文件 application/config/database.php 中设置其目录。 激活缓存特性,可以在文件 application/config/database.php 中设置全局选项,也可以用以本页下面的方法手动设置。一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。当页面被浏览时CodeIgniter的查询缓存系统能够动态执行。如果缓存特性被激活,那么在此页面首次被加载时,数据库查询的结果对象将会被序列化并... 阅读全文
posted @ 2013-10-18 16:35 以为是帅哥 阅读(745) 评论(0) 推荐(0) 编辑
 
摘要: 你写了一个php脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 bytes exhausted)退出了。一般来说,每个页面处理结束,新建的simple_html_dom对象就应该被销毁了——但是实际上没有,很明显,内存泄露发生了。PHP的垃圾回收机制php 5.3之前使用的垃圾回收机制是单纯的“引用计数”,也就是每个内存对象都分配一个计数器,当内存对象被变量引用 阅读全文
posted @ 2013-10-18 15:55 以为是帅哥 阅读(1107) 评论(0) 推荐(0) 编辑
 
摘要: 我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求。分页的原理很简单,就是按分页数获取某个范围的数据而已,PHP给我们提供了一个很便利的函数:array_slice()。array_slice() 函数在数组中根据条件取出一段值,并返回。下面举两个分页例子,都很简单。01 public function books($pagenum = 1)02 {03 include_once("page.php");04 include("arr_books.php");05 06 ... 阅读全文
posted @ 2013-10-18 15:53 以为是帅哥 阅读(376) 评论(0) 推荐(0) 编辑
 
摘要: 有些时候,我们需要对一些html文本进行处理,比如需要将文本中的超链接内容去除,这个时候就需要用到正则表达式了。比如你可以用$str = preg_replace("/]*href=[^>]*>|]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的。1、删除内容中的超链接ereg_replace(']*)>([^','\\2',$content);ereg_replace("]*>|","",$content); 阅读全文
posted @ 2013-10-18 15:36 以为是帅哥 阅读(528) 评论(0) 推荐(0) 编辑
 
摘要: 记录一下一个问题的解决,里面涉及几个函数的用法,当作复习啦。先说明一下问题。数据表里面的字段 content 存储了一个以逗号分割的字符串,最大有20个数,最大数字为40。比如3,24,33,40类似字样的数字序列。其实就是一个保存了多项投票结果的字段啦。现在需要统计每个数字的个数,也就是每个投票项有多少人投了,并排序。我的思路是这样的。1. 首先从数据库的congtent字段读取数据,并把它们合并成一个字符串。1 fetch_array($result))3 {4 //$r[] = explode(",", $myrow["content"]);5.. 阅读全文
posted @ 2013-10-18 15:35 以为是帅哥 阅读(6743) 评论(0) 推荐(0) 编辑
 
摘要: PHP数组去除重复项有个内置函数array_unique(),但是php的array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数。之前写了一篇关于数组去重的文章,但是仅限于一维数组。下面的函数可以用于二维数组://二维数组去掉重复值function array_unique_fb($array2D){ foreach ($array2D as $v) { $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[] = $v... 阅读全文
posted @ 2013-10-18 15:31 以为是帅哥 阅读(3699) 评论(0) 推荐(0) 编辑