Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Code-Optimierung und Zusammenfassung von PHP-bezogenen Problemen
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
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
setcookie('online1',$online, $cookietime,$ckpath,$ckdomain,$secure);
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
{
$handle=@fopen($filename,$method); @ flock($handle,LOCK_SH);
@$filedata=fread($handle,filesize($filename));
$filedata=str_replace("n "," n
$filedb=explode("
//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!