随笔分类 -  Php

摘要:一.内存溢出解决方案在做数据统计分析时,经常会遇到大数组,可能会发生内存溢出,这里分享一下我的解决方案。还是用例子来说明这个问题,如下:假定日志中存放的记录数为500000条,那么解决方案如下:ini_set(‘memory_limit’,’64M’); //重置php可以使用的内存大小为64M,一般在远程主机上是不能修改php.ini文件的,只能通过程序设置。注:在safe_mode(安全模式)下,ini_set失效set_time_limit(600);//设置超时限制为6分钟$farr = $Uarr = $Marr = $IParr = $data = $_sub = array(); 阅读全文
posted @ 2011-04-12 08:55 春哥也编程 阅读(29911) 评论(2) 推荐(0) 编辑
摘要:Notice: unserialize() : Error at offset 159 of 647 bytes in ***我们往往会在将serialize后的数据unserialize,但是反序列化的时候往往会出现如上所示的错误这个错误往往是由于存储序列化信息的*.txt的编码格式的问题导致的。而且这个问题在UTF-8中经常出现,如果改成其他的ANSI的编码格式,这样的问题也就解决了总结:改变*.txt的编码格式 阅读全文
posted @ 2011-04-06 15:48 春哥也编程 阅读(1372) 评论(0) 推荐(0) 编辑
摘要:EOF 从字面上理解,是END OF FILE 的意思。但实质上,它只是一个标签,可以用其他字符表示,如:sqlplus -s $user1/$pass1<<EOFselect 'abc' test from dual;quitEOF用EOC :sqlplus -s $user1/$pass1<<eocselect 'abc' test from dual;quiteoc用! :sqlplus -s $user1/$pass1<<!select 'abc' test from dual;quit!无论EOF , 阅读全文
posted @ 2011-03-31 10:15 春哥也编程 阅读(665) 评论(0) 推荐(1) 编辑
摘要:最近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号,三个小于符号,eot,eod,echo示例,print示例等,突然间发现用这么久的PHP了,竟然连PHP的基本符号都没有认全,看到@号还查了半天才知道什么意思.把基本符号和一些外面冰吧常见的PHP符号整理成了列表,在我的博客上帖一下吧,需要的朋友们可以参考下PHP相关的特殊符号~注解符号: // 单行注解 /* */ 多行注解引号的使用 ’ ’ 单引号,没有任何意义,不经任何处理直接拿过来; " "双引号,php动态处理然后输出,一般用于变量.变量形态: 一种是True 即 真的; 另一种是False 即 阅读全文
posted @ 2011-03-31 10:13 春哥也编程 阅读(3032) 评论(0) 推荐(0) 编辑
摘要:批量输出HTML内容!echo <<< EOTHTML输出内容。。。//这里注释照样输出!EOT;Print <<<EOTHTML输出内容。。。//这里注释照样输出!EOT;(注意:内部包含变量用“{变量}”)批量输出其他内容!$tempArray['tempField'] = <<< EOFslelect * from *..... descEOF; 阅读全文
posted @ 2011-03-31 10:12 春哥也编程 阅读(2440) 评论(0) 推荐(0) 编辑
摘要:加入我们有这样的一个二维数组($sortArray),然后要进行排序,我们该如何处理呢php早就为我们做好了这样方面好用的函数:array_multisortFIELD1FIELD2FIELD3FIELD4FIELD5FIELD6FIELDSORTFIELD8FIELD91***************3.025******2***************6.756******3***************5.375******4***************12.645******5***************-6.548******加入我们需要对FIELDSORT这个按从大到小的顺序排 阅读全文
posted @ 2011-03-29 18:51 春哥也编程 阅读(285) 评论(0) 推荐(0) 编辑
摘要:array_merge()是PHP语言中的一个函数,作用是将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,该键的键值为最后一个键名对应的值(后面的值覆盖前面相同的值)。如果数组是数字键名的,则键名会以连续方式重新索引,即后面的值将不会覆盖原来的值,而是附加到后面。 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。(参见例子 2) 注意:当后面数组元素中键名与其前面数组元素键名相同时,则结果数组中相应键名的键值则被后者覆 阅读全文
posted @ 2011-03-29 18:30 春哥也编程 阅读(17355) 评论(0) 推荐(0) 编辑
摘要:近日在看一个牛人的代码时,看到一个非常好用的函数:extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具,比方说,可以很方便的提取$_POST或者$_GET的元素,对表单提交上来的内容不能不用一一赋值,直接使用下面代码:form.html<form action="action.php" method="post"><input type="text" name="username"><input type=" 阅读全文
posted @ 2011-03-29 18:22 春哥也编程 阅读(604) 评论(0) 推荐(0) 编辑
摘要:我不知道PHP初学者是怎么学习函 数的,但是我认为学习他一定是有目的性,它是目的驱动的,以数组函数为例!这么多的数组函数我们该怎么学习?其实我们只需要清楚,我们需要对数组做哪些操 作,然后把这些操作归类,心中就有了大概的印象,然后随着你的实践,这些函数你就很清楚了,在这里提醒大家的是手册要常备!废话不多说,数组函数一般归为 以下几类(看到英文别怕哦):Outputting arraysCreating arraysTesting for an arrayLocating array elementsTraversing arraysDetermining array size and elem 阅读全文
posted @ 2011-03-29 18:21 春哥也编程 阅读(823) 评论(0) 推荐(0) 编辑
摘要:魔术函数1。__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。2。__destruct() 当删除一个对象或对象操作终止时被调用。3。__call() 对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call函数。4。__get() 读取一个对象的属性时, 若属性存在,则直接返回属性值; 若不存在,则会调用__get函数。5。__set() 设置一个对象的属性时, 若属性存在,则直接赋值; 若不存在,则会调用__set函数。6。__toString() 打印一个对象的 阅读全文
posted @ 2011-03-29 18:20 春哥也编程 阅读(3328) 评论(0) 推荐(0) 编辑
摘要:今天碰到了这么一个问题,处理的数组$tempArray为如下所示形式(key已经排序),然后要根据这个结果进行分块的处理,我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。经过上面的指导,发现真的好简单,现在与大家一同分享。IDFIELD1FIELD2FIELD3FIELD4Key1************meat12************meat13************meat14************meat15************fruit26************fruit2 阅读全文
posted @ 2011-03-24 20:21 春哥也编程 阅读(1355) 评论(0) 推荐(1) 编辑
摘要:1、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;2、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;3、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);4、尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);5、循环内部不要声明变量,尤其 阅读全文
posted @ 2011-03-24 19:24 春哥也编程 阅读(3657) 评论(0) 推荐(0) 编辑
摘要:1.定义常量define("CONSTANT", "Hello world.");常量只能包含标量数据(boolean,integer,float 和 string)。调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT;注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。2.普通变量$a = "hello";3.可变变量(使用两个美元符号($))$$a = "world";两个变量都被定义了:$a 的内容是“hello”并且 $h 阅读全文
posted @ 2011-03-24 14:47 春哥也编程 阅读(322) 评论(0) 推荐(0) 编辑
摘要:Php中三个等号与两个等号的区别:【PHP “===”与“==”区别】==你知道吧,是比较两个值===也是一样的功能,但是===要求的比较严格==会在把两个值自动转换成同类型后再比较,而===在比较前不转换当a=3时a===3是成立的,a=="3.0"也成立,而a==="3.0"是不成立的。 阅读全文
posted @ 2011-03-24 14:39 春哥也编程 阅读(256) 评论(0) 推荐(0) 编辑
摘要:使用mc时,我们会考虑数据的存储格式;php的函数允许我们直接set一个数组到mc里,取出来后也可以直接当做数组来用,确实很简单,但是和json格式比较了一下才发现,简单的代价是浪费了更大的空间,下面是一个小的测试程序:<?php$host="10.10.10.10"; $port="11211"; $uid="103630"; $p1=array( "et"=>"103630",//expiretime "pt"=>"103630",/ 阅读全文
posted @ 2011-03-24 12:43 春哥也编程 阅读(775) 评论(0) 推荐(0) 编辑
摘要:Memcache函数库是在PECL(PHPExtensionCommunityLibrary)中,主要作用是搭建大容量的内存数据的 临时存放区域,在分布式的时候作用体现的非常明显,否则不建议使用。 本人在ubuntu上安装 完运行的时候报错: /usr/local/memcached/bin/memcached:errorwhileloMemcache函数库是在PECL(PHPExtensionCommunityLibrary)中,主要作用是搭建大容量的内存数据的 临时存放区域,在分布式的时候作用体现的非常明显,否则不建议使用。 本人在ubuntu上安装 完运行的时候报错: /usr/loca 阅读全文
posted @ 2011-03-24 12:40 春哥也编程 阅读(617) 评论(0) 推荐(0) 编辑
摘要:【序列化的概念】序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。将对象的状态信息转换为可以存储或传输的窗体的过程。 在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。 对于任何可能包含 阅读全文
posted @ 2011-03-24 12:36 春哥也编程 阅读(5472) 评论(0) 推荐(0) 编辑
摘要:前段代码<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StartXmlHttpRequestChuanZhi.aspx.cs" Inherits="XmlHttpRequestTest.StartXmlHttpRequestChuanZhi" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 阅读全文
posted @ 2011-03-24 09:13 春哥也编程 阅读(958) 评论(0) 推荐(0) 编辑
摘要:php函数serialize()与unserialize()说明及案例。想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize()可处理除了resource之外的任何类型。甚至可以serialize()那些包含了指向其自身引用的数组。你正serialize()的数组/对象中的引用也将被存储。serialize()返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。想要将已序列化的字符串变回 PHP 的值,可使用unserialize()。serialize()可处理除了resou 阅读全文
posted @ 2011-03-23 10:59 春哥也编程 阅读(443) 评论(0) 推荐(0) 编辑
摘要:<?xml version="1.0"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" verticalAlign="middle" backgroundColor="white" initialize="init()"> <mx:LineChart id="lineChart" showDataTips="tr 阅读全文
posted @ 2011-03-11 14:17 春哥也编程 阅读(477) 评论(0) 推荐(0) 编辑