php優(yōu)化及高效提速問題的實(shí)現(xiàn)方法
更新時(shí)間:2008年10月03日 14:55:02 作者:
下面是phper在實(shí)際編寫中,發(fā)現(xiàn)的一些問題,其它我們的好多代碼,需要優(yōu)化,很多程序都是可以再提速的
十三、 截?cái)嘧址畠?yōu)化函數(shù)(可避免?字符出現(xiàn))
function substrs($content,$length) {
if(strlen($content)>$length){
$num=0;
for($i=0;$i<$length-3;$i++) {
if(ord($content[$i])>127)$num++;
}
$num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
$content.=' ';
}
return $content;
}
比如 $newarray[1]=substrs($newarray[1],25);
十四、 程序中屏蔽大小寫
for ($asc=65;$asc<=90;$asC++)
{ //strtolower() 此函數(shù)在一些服務(wù)器會(huì)產(chǎn)生亂碼!
if (strrpos($regname,chr($asc))!==false)
{
$error="為了避免用戶名混亂,用戶名中禁止使用大寫字母,請使用小寫字母";
$reg_check=0;
}
}
十五、 不使用 file();和不使用 fget();(不穩(wěn)定或速度慢) 取一數(shù)組函數(shù)
function openfile($filename,$method="rb")
{
$handle=@fopen($filename,$method);
@flock($handle,LOCK_SH);
@$filedata=fread($handle,filesize($filename));
@fclose($handle);
$filedata=str_replace("\n","\n",$filedata);
$filedb=explode("",$filedata);
//array_pop($filedb);
$count=count($filedb);
if($filedb[$count-1]==''){unset($filedb[$count-1]);}
return $filedb;
}
第二部分:
1.在可以用file_get_contents替代file、fopen、feof、fgets等系列 方法 的情況下,盡量用file_get_contents,因?yàn)樗男矢叩枚啵〉且⒁鈌ile_get_contents在打開一個(gè)URL文件時(shí)候的PHP版本問題;
2.盡量的少進(jìn)行文件操作,雖然PHP的文件操作效率也不低的;
3.優(yōu)化Select SQL語句,在可能的情況下盡量少的進(jìn)行Insert、Update操作(在update上,我被惡批過);
4.盡可能的使用PHP內(nèi)部函數(shù)(但是我卻為了找個(gè)PHP里面不存在的函數(shù),浪費(fèi)了本可以寫出一個(gè)自定義函數(shù)的時(shí)間,經(jīng)驗(yàn)問題?。。?;
5.循環(huán)內(nèi)部不要聲明變量,尤其是大變量: 對象 (這好像不只是PHP里面要注意的問題吧?);
6.多維數(shù)組盡量不要循環(huán)嵌套賦值;
7.在可以用PHP內(nèi)部字符串操作函數(shù)的情況下,不要用 正則表達(dá)式 ;
8.foreach效率更高,盡量用foreach代替while和for循環(huán);
9.用單引號替代雙引號引用字符串;
10.“用i+=1代替i=i+1。符合c/c++的習(xí)慣,效率還高”;
相關(guān)文章
php計(jì)算函數(shù)執(zhí)行時(shí)間的方法
這篇文章主要介紹了php計(jì)算函數(shù)執(zhí)行時(shí)間的方法,以md5函數(shù)加密運(yùn)行時(shí)間為例分析了php計(jì)算函數(shù)運(yùn)行時(shí)間的技巧,需要的朋友可以參考下2015-03-03php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列應(yīng)用示例
這篇文章主要介紹了php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列,結(jié)合具體實(shí)例形式分析了PHP基于redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列的具體原理、應(yīng)用場景及相關(guān)操作技巧,需要的朋友可以參考下2020-02-02PHP實(shí)現(xiàn)克魯斯卡爾算法實(shí)例解析
這篇文章主要介紹了PHP實(shí)現(xiàn)克魯斯卡爾算法實(shí)例解析,是PHP程序設(shè)計(jì)中一個(gè)比較經(jīng)典的應(yīng)用,需要的朋友可以參考下2014-08-08php使用escapeshellarg時(shí)中文被過濾的解決方法
這篇文章主要介紹了php使用escapeshellarg時(shí)中文被過濾的解決方法,測試后發(fā)現(xiàn)問題的原因是shell和apache php-cgi的運(yùn)行環(huán)境不同引起的,需要的朋友可以參考下2016-07-07php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29
今天在百度知道上面有個(gè)朋友問php代碼解密的問題,看了代碼不是常見幾種比較感興趣,特意搜索了下,發(fā)現(xiàn)下面的方法,解決了,具體的看最后的說明。2011-01-01