Heim  >  Artikel  >  Backend-Entwicklung  >  Fassen Sie die verstreuten Wissenspunkte in PHP zusammen

Fassen Sie die verstreuten Wissenspunkte in PHP zusammen

巴扎黑
巴扎黑Original
2017-08-13 14:36:311389Durchsuche

Heute wird der Herausgeber einige triviale Wissenspunkte über PHP mitteilen. Es ist sehr gut und hat Referenzwert.

PHP prüft keine einfachen Anführungszeichen Variableninterpolation in Strings oder (fast) jede Escape-Sequenz, daher ist das Definieren eines Strings mit einfachen Anführungszeichen ziemlich einfach und schnell. Bei doppelten Anführungszeichen „“ ist dies jedoch nicht der Fall. PHP prüft die Variablen oder Escape-Sequenzen im String und gibt die Werte der Variablen und Escape-Sequenzen aus.


$a = "123";
print '$a\t';
print '$a';

Ausgabe:


$a\t$a

Wenn es sich um ein doppeltes Anführungszeichen handelt "" :


$a = "123";
print "$a\t";
print "$a";

Ausgabe:

Hinweis:

Einfache Anführungszeichen '' können die beiden Escape-Zeichen ' und \ interpretieren, das ist alles!

kann dafür sorgen, dass einfache Anführungszeichen so weit wie möglich einfache Anführungszeichen verwenden (da doppelte Anführungszeichen zuerst durchlaufen werden müssen, um festzustellen, ob sie Variablen enthalten, bevor sie ausgeführt werden). sind nicht urteilsbedürftig).

Einfache Anführungszeichen '' und doppelte Anführungszeichen "" können verwendet werden

Der Unterschied zwischen Echo und Print:

Dies Bei beiden handelt es sich um Anweisungen, nicht um Funktionen. Die Funktion dieser beiden Anweisungen besteht darin, Zeichenfolgen auszugeben. Allerdings:

echo kann mehrere Parameter übergeben. Es gibt nur einen Druck:


echo "123", "123";//输出123123
print "123", "123";//报错,只可以写一个参数 print "123";

echo hat keinen Rückgabewert, während der Druckrückgabewert immer 1 ist; >

Hinweis:

Von den acht Datentypen von PHP, mit Ausnahme von Arrays und Objekten, die die magische Funktion __toString nicht implementieren, können Sie echo oder print zur Ausgabe verwenden, und Boolesche Typen verwenden Echo oder die Druckausgabe zeigt nur 1 an oder nicht.



echo true; //输出1
echo false; //什么都不输出
Zahlen und Zeichenfolgen hinzufügen:

PHP führt die Konvertierung automatisch durch Die Verwendung von Zeichenfolgen und Zahlen bringt manchmal Vorteile, manchmal ist sie jedoch sehr belastend.



$a = 1 + „A“ Was ist der Datentyp der Variablen $a?

echo 1 + "2";//输出3
echo 1 + "a";//输出1



if(is_numeric($a)){
  echo "是整型";
}
else{
  echo "是其他类型";
}
//最后输出:是整型
Der Unterschied zwischen der Zufallszahlengenerierungsfunktion rand() und mt_rand():

rand() und mt_rand() haben genau die gleiche Verwendung. Sie haben jeweils zwei Verwendungen:



Unterschied: mt_rand(). ist ein guter Zufallszahlengenerator, da er einen besseren Zufallszahlen-Seed als rand(); liefert und die Leistung viermal schneller als rand() ist und der durch mt_getrandmax() dargestellte Wertebereich ebenfalls größer ist

//第一种用法:
rand();//产生的随机数为0到getrandmax()之间
mt_rand();//产生的随机数为0到mt_getrandmax()之间
//第二种用法:
rand($min, $max);//产生从$min到$max之间的随机数
mt_rand($min, $max);//产生从$min到$max之间的随机数

Der Unterschied zwischen der BCMath-Bibliothek und der GMP-Bibliothek:

Die BCMath-Bibliothek ist einfach zu verwenden. Übergeben Sie Zahlen als Zeichenfolgen an die Funktion und sie gibt die Summe (oder Differenz, Produkt usw.) der Zahlen als Zeichenfolge zurück. Bei Verwendung von BCMath sind die Operationen, die mit Zahlen durchgeführt werden können, jedoch auf grundlegende arithmetische Operationen beschränkt.



GMP-Funktionen können Ganzzahlen oder Zeichenfolgen als Parameter akzeptieren, sie übergeben jedoch lieber Zahlen als Ressourcen, die tatsächlich auf das Innere des Zahlenzeigers zeigen vertreten. Im Gegensatz zur BCMath-Funktion, die eine Zeichenfolge zurückgibt, gibt GMP also nur die Ressource zurück. Diese Ressource kann als Zahl an jede GMP-Funktion übergeben werden.

$sum = bcadd("12345678", "87654321");//$sum = "99999999"



Der einzige Nachteil von GMP besteht darin, dass Sie gmp_strval() verwenden müssen, wenn Sie Nicht-GMP-Funktionen zum Anzeigen oder Verwenden von Ressourcen verwenden möchten. oder gmp_intval(), um den Standort anzuzeigen Führen Sie die Konvertierung durch.

$four = gmp_add(2, 2);//可以传入整数
$eight = gmp_add('4', '4');//或字符串
$twelve = gmp_add($four, $eight);//或GMP资源

Hinweis

BCMath ist mit PHP gebündelt. Wenn GMP nicht mit PHP gebündelt ist, müssen Sie es separat herunterladen und installieren. Eine weitere Möglichkeit zur Durchführung hochpräziser mathematischer Operationen ist die Verwendung der big_int-Bibliothek von PECL.

Der Unterschied zwischen include und require:

include()- und require()-Anweisungen schließen die angegebene Datei ein und führen sie aus. Die beiden Strukturen sind in Bezug auf Include-Dateien genau gleich. Der einzige Unterschied besteht in der Fehlerbehandlung: Die

•require()-Anweisung stoppt, wenn festgestellt wird, dass die eingebundene Datei nicht vorhanden ist oder ein Fehler vorliegt auftritt und einen Fehler melden.
•include() generiert nur eine Warnung, wenn die eingebundene Datei nicht existiert, und das Skript wird fortgesetzt.

Mit anderen Worten: Wenn Sie die Verarbeitung der Seite stoppen möchten, wenn eine Datei fehlt, zögern Sie nicht, require() zu verwenden. Dies ist bei include() nicht der Fall und das Skript wird weiterhin ausgeführt.

include_once und require_once

•include_once() ist dasselbe wie require_once() und sollte währenddessen für dieselbe Datei verwendet werden Skriptausführung Wenn es möglich ist, mehr als einmal einzubinden, möchten Sie sicherstellen, dass es nur einmal eingebunden wird, um Probleme wie Funktionsneudefinition und Variablenneuzuweisung zu vermeiden. Dies ist der Hauptunterschied zwischen include_once() und require_once() und include() und require().
•require_once() und include_once() sind weniger effizient als require() und include(), da die ersten beiden feststellen müssen, ob die zu importierende Datei bereits vorhanden ist. `


Der Unterschied zwischen PHP Merging Array + und array_merge()

同为数组合并,但是还是有差别的:

•键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)


$a = array('a','b'); 
$b = array('c', 'd'); 
$c = $a + $b; 
var_dump($c);
//输出:
// array (size=2)
// 0 => string 'a' (length=1)
// 1 => string 'b' (length=1) 
var_dump(array_merge($a, $b));
//输出:
//array (size=4)
// 0 => string 'a' (length=1)
// 1 => string 'b' (length=1)
// 2 => string 'c' (length=1)
// 3 => string 'd' (length=1)

•键名为字符时,+仍然把最先出现的键名的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值


$a = array('a' => 'a' ,'b' => 'b');
$b = array('a' => 'A', 'b' => 'B');
$c = $a + $b;
var_dump($c);
//输出:
//array (size=2)
//'a' => string 'a' (length=1)
//'b' => string 'b' (length=1)
var_dump(array_merge($a, $b));
//输出:
//array (size=2)
//'a' => string 'A' (length=1)
//'b' => string 'B' (length=1)

字符串常用函数

PHP提供了很多方便的字符串函数,常用的有:

•strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 。返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。若为before_needle为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
•substr( string $string , int $start [, int $length ] ) 。返回字符串 string 由 start 和 length 参数指定的子字符串。
•substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] ) 。substr_replace() 在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换。
•strrev ( string $string ) 。返回 string 反转后的字符串。
•str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 。该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。subject为执行替换的数组或者字符串。也就是 haystack。如果 subject 是一个数组,替换操作将遍历整个 subject,返回值也将是一个数组。如果count被指定,它的值将被设置为替换发生的次数。
•strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 。返回 needle 在 haystack 中首次出现的数字位置;如果提供了offset参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。
•ltrim() 、 rtrim() 、 trim() 。这仨都是删除字符串中的空白符。 ltrim() 删除字符串开头的空白字符; rtrim() 删除字符串末端的空白字符; trim() 去除字符串首尾处的空白字符。 

Das obige ist der detaillierte Inhalt vonFassen Sie die verstreuten Wissenspunkte in PHP zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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