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

------->PHP コードの最適化と PHP 関連の問題の概要

Jun 21, 2016 am 09:15 AM
content online quot

問題|最適化

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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

CSS コンテンツ プロパティの説明: コンテンツ、カウンター、引用符 CSS コンテンツ プロパティの説明: コンテンツ、カウンター、引用符 Oct 21, 2023 am 10:16 AM

CSS コンテンツ属性の詳細な説明: content、counter、quotesCSS (カスケード スタイル シート) はフロントエンド開発に不可欠な部分であり、Web ページを美しくし、ユーザー エクスペリエンスを向上させるのに役立ちます。 CSS には、コンテンツ、カウンター、引用符などのテキスト コンテンツの表示を制御するために使用できる特別なプロパティがいくつかあります。この記事では、これらのプロパティについて詳しく説明し、具体的なコード例を示します。 1. content 属性content 属性

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

写真が消える問題を解決する方法 写真が消える問題を解決する方法 Apr 07, 2024 pm 03:02 PM

写真が消える問題を解決する方法 まず、写真ファイル $file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner() image_src) VALUES ('images/ {$file['name'

Microsoft AI CEO、AI モデルのトレーニングにオープン Web コンテンツを使用するのは間違いではないと語る Microsoft AI CEO、AI モデルのトレーニングにオープン Web コンテンツを使用するのは間違いではないと語る Jun 30, 2024 pm 10:59 PM

CNBC の Andrew Ross Sorkin とのインタビューで、Microsoft AI CEO の Mustafa Suleyman 氏は Web 著作権法についての理解を表明しました。スレイマン氏は、オープンウェブ上でアクセス可能なコンテンツは「フリーウェア」であり、誰でもコピーしたり複製したりできると述べている。

为什么小弟我在php上写的这个代码,在浏览器上什么都不显示 为什么小弟我在php上写的这个代码,在浏览器上什么都不显示 Jun 13, 2016 am 10:24 AM

为什么我在php上写的这个代码,在浏览器上什么都不显示啊

Valve、Steam Deck ゲーマーに反チート行為を行った後、「GTA V」の返金を発行 Valve、Steam Deck ゲーマーに反チート行為を行った後、「GTA V」の返金を発行 Sep 20, 2024 pm 06:18 PM

Rockstar Games は最近、BattleEye アンチチートを Grand Theft Auto V に追加しましたが、その過程で Linux サポートを意図的に破ったようで、Steam Deck の所有者を放置し、Steam Deck の非互換性の責任を直接 sh に負わせました。

图片消失怎么解决 图片消失怎么解决 Jun 13, 2016 am 10:09 AM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

See all articles