検索
ホームページphp教程php手册------->PHP コードの最適化と PHP 関連の問題の概要

問題|最適化

1. 関数で配列を渡す場合、グローバルを使用するよりも return を使用する方が効率的です。たとえば、


function userloginfo($usertemp){
$detail=explode("|",$usertemp);
return $。詳細;
}
$login=userloginfo($userdb);

than

function userloginfo($usertemp){
global $detail;
$detail=explode("|",$usertemp);
}
userloginfo( $userdb);



効率的です

2, (このコードはプログラムディレクトリに対応する URL を取得するために使用されます、推奨)

$urlarray=explode('/',$HTTP_SERVER_VARS['REQUEST_URI']) ;
$urlcount=count ($urlarray);unset($urlarray[$urlcount-1]);
$ofstarurl='http://'.$HTTP_SERVER_VARS['HTTP_HOST'].implode('/',$urlarray );

この段落 このコードは

$pre_urlarray=explode('/',$HTTP_SERVER_VARS['HTTP_REFERER']);
$pre_url=array_pop($pre_urlarray);



3 よりも効率的です。ループ内では数値的な判断に定数を使用します
$a=2;$b=2;
例:
if($a==$b)$c=$a;
than
if ($a===$b)$c= $a;
効率的

4、mysql をクエリするときは、where in を使用し、limitless
limit を使用して、多くのレコードの最初の数レコードをチェックするようにすると、速度が非常に速くなります。高速ですが、最後の数レコードのクエリは遅くなります
で使用します。 クエリの連続性では、記録は最初は少し遅くなりますが、その後は速くなります

! 5. NT サーバーのデータ操作の安定性は、unix/linux ほど安定していません

6. 出力する前に ob_start() を使用してください。ob_start(' を使用すると、出力が高速化されます。 unlix サーバーの場合は、出力効率が高くなります

7. 否定する場合は、if ($a==his value) を使用するようにしてください。プログラムがより高速に実行される方法

8、不等値 != を使用する場合は と同等です。個人的な経験では $a='11111111111111'; と同じくらい効率的です。本に書かれているように、それほど違いはありません

10. 標準化された SQL ステートメントの使用は、MySQL の解析に有益です

11.

if($online ){
$online1=$online;
setcookie('online1',$) の使用online,$cookietime,$ckpath,$ckdomain,$secure);
}



COOKIE はすぐに有効になります


if($online )
setcookie('online1',$online,$cookietime,$ckpath を使用します) ,$ckdomain,$secure);



COOKIE を有効にするには再度更新する必要があります

12、

$handle=fopen($filename, wb);
flock($handle,LOCK_SH);
$ を使用してくださいfiledata=fread($handle,filesize($filename));
fclose($handle);

than

file($filename);

どこでも速度と安定性の両方が優れています

13、切り捨て文字列の最適化function (? 文字の出現を回避できます)

function substrs($content,$length) {
if(strlen($content)>$length){
$num=0;
for($i=0; $iif(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);

14、プログラム内のケースシールド

for ($asc=65;$asc{ //strto lower( ) この関数は一部のサーバーで文字化けを発生します!
if (strrpos($regname,chr($asc))!==false)
{
$error="ユーザー名が紛らわしいことを避けるため、大文字はユーザー名では禁止されているため、小文字を使用してください";
$reg_check=0;
}
}




15、file(); および fget(); は使用しないでください (安定または遅い)配列関数を使用します

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;
}
//この関数にはより多くのコードがありますが、速度と安定性の点で大きな利点があります!






声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境