Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Code-Optimierung und Zusammenfassung von PHP-bezogenen Problemen

PHP-Code-Optimierung und Zusammenfassung von PHP-bezogenen Problemen

高洛峰
高洛峰Original
2016-12-02 10:34:551139Durchsuche

1. Bei der Übergabe eines Arrays in einer Funktion ist
die Verwendung von return effizienter als die Verwendung von global
Zum Beispiel


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

als

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

Erforderlich effizient

2, (Dieser Code wird verwendet, um die URL zu erhalten, die dem Programmverzeichnis entspricht, empfohlen)

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

Dieser Code ist besser als 🎜>

Seien Sie effizient


3. Verwenden Sie bei der Beurteilung in einer Schleife das Identitätsverhältnis, um die numerische Beurteilung effizienter zu gestalten

$a=2;$b=2;

Zum Beispiel

if($a==$b)$c=$a;

als
if($a=== $b)$c=$a;
effizient

4, Versuchen Sie beim Abfragen von MySQL, where in zu verwenden und limit less
limit zu verwenden, um die ersten paar Datensätze zu überprüfen, aber Die Abfrage der obersten Datensätze ist langsam. Bei der Abfrage kontinuierlicher Datensätze ist der erste Durchlauf der diskontinuierlichen Aufzeichnung etwas langsamer, danach jedoch schneller
5. Die Stabilität des NT-Serverdatenbetriebs ist nicht so stabil wie unter Unix/Linux.

6. Verwenden Sie es so oft wie möglich, bevor Sie ob_start() ausgeben nuli/linux. Wenn Sie ob_start('ob_gzhandler') für Unix-Server verwenden, ist die Ausgabeeffizienz höher.

7 Versuchen Sie, if(empty() zu verwenden. $a)) beim Negieren, da das Programm auf diese Weise schneller läuft

8, die Verwendung ungleicher Zeit!= entspricht <>

9. Aus persönlicher Erfahrung ist die Effizienz der Verwendung $a="11111111111111"; ist äquivalent zu $a='11111111111111'; Es ist nicht so unterschiedlich, wie im Buch steht

10. Verwenden Sie eine standardisierte SQL-Anweisung, es wird für die MySQL-Analyse hilfreich sein

11, verwenden Sie

if($online){

$online1=$online;

setcookie('online1',$online, $cookietime,$ckpath,$ckdomain,$secure );

}


COOKIE wird sofort wirksam
Verwenden

if($online)

setcookie('online1',$online, $cookietime,$ckpath,$ckdomain,$secure);


COOKIE muss erneut aktualisiert werden, damit es wirksam wird


12, Verwenden Sie

$ handle=fopen($filename,wb);

flock($handle,LOCK_SH);

$filedata=fread($handle,filesize($filename));

fclose($handle);

ist besser als


file($filename);

in Geschwindigkeit und Stabilität

13, Zeichen abschneiden String-Optimierungsfunktion (kann das Auftreten von ? vermeiden? Zeichen)

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;
}



Zum Beispiel $newarray[1]=substrs($newarray[1],25);

14, Groß-/Kleinschreibung Abschirmung im Programm

for ($asc=65;$asc<=90;$asc++)

{ //strtolower() Diese Funktion erzeugt auf einigen Servern verstümmelten Code!

if ( strrpos($regname,chr($asc))!==false)

{

$error="Um Verwechslungen bei Benutzernamen zu vermeiden, sind Großbuchstaben in Benutzernamen verboten. Bitte verwenden Sie Kleinbuchstaben. Buchstaben";

$reg_check=0;

}
}




15, verwenden Sie nicht file(); und verwenden Sie nicht fget();( Unstable oder langsam) Nehmen Sie eine Array-Funktion

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;
}
//Obwohl diese Funktion viel Code enthält, bietet sie große Vorteile in Bezug auf Geschwindigkeit und Stabilität!



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn