Maison  >  Article  >  développement back-end  >  Résumer les points de connaissances dispersés en PHP

Résumer les points de connaissances dispersés en PHP

巴扎黑
巴扎黑original
2017-08-13 14:36:311344parcourir

Aujourd'hui, l'éditeur partagera avec vous quelques points de connaissances triviaux sur PHP. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

PHP ne vérifie pas les guillemets simples'' et. interpolation de variable dans les chaînes. Ou (presque) n'importe quelle séquence d'échappement, donc définir une chaîne à l'aide de guillemets simples est assez simple et rapide. Cependant, ce n'est pas le cas avec les guillemets doubles "". PHP vérifiera les variables ou les séquences d'échappement dans la chaîne et affichera les valeurs des variables et des séquences d'échappement.


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

Sortie :


$a\t$a

S'il s'agit d'un guillemet double "" :


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

Sortie :

Remarque :

Les guillemets simples ''peuvent interpréter les deux caractères d'échappement' et \, c'est tout !

peut faire en sorte que les guillemets simples utilisent autant que possible des guillemets simples. Les guillemets simples sont plus efficaces que les guillemets doubles (car les guillemets doubles doivent d'abord être parcourus pour déterminer s'ils contiennent des variables avant de fonctionner, tandis que les guillemets simples doivent être parcourus en premier. ne nécessitent pas de jugement).

Les guillemets simples '' et les guillemets doubles "" peuvent être utilisés

La différence entre echo et print :

Ceci Les deux sont des instructions, pas des fonctions ; la fonction de ces deux instructions est de générer des chaînes. Cependant :

echo peut transmettre plusieurs paramètres. Il n'y a qu'une seule impression :


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

echo n'a pas de valeur de retour, alors que la valeur de retour d'impression est toujours 1 ; >

Remarque :

Sur les huit types de données de PHP, à l'exception des tableaux et des objets qui n'implémentent pas la fonction magique __toString, vous pouvez utiliser echo ou print pour afficher la sortie, et les types booléens utilisent echo ou la sortie d'impression n'affichera que 1 ou non.



echo true; //输出1
echo false; //什么都不输出
Ajouter des chiffres et des chaînes :

PHP terminera automatiquement la conversion l'utilisation de chaînes et de chiffres apporte parfois des avantages, mais parfois c'est très pénible.



$a = 1 + "A" ; Quel est le type de données de la variable $a ?

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



if(is_numeric($a)){
  echo "是整型";
}
else{
  echo "是其他类型";
}
//最后输出:是整型
La différence entre la fonction de génération de nombres aléatoires rand() et mt_rand() :

rand() et mt_rand() ont exactement le même usage. Ils ont respectivement deux usages :



Différence : mt_rand(). est plus Un bon générateur de nombres aléatoires car il sème une meilleure graine de nombres aléatoires par rapport à rand(); et les performances sont 4 fois plus rapides que rand(), et la plage de valeurs représentée par mt_getrandmax() est également plus grande

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

La différence entre la bibliothèque BCMath et la bibliothèque GMP :

La bibliothèque BCMath est facile à utiliser. Passez les nombres dans la fonction sous forme de chaînes et elle renverra la somme (ou la différence, le produit, etc.) des nombres sous forme de chaîne. Cependant, lors de l'utilisation de BCMath, les opérations pouvant être effectuées sur les nombres sont limitées aux opérations arithmétiques de base.



Les fonctions GMP peuvent accepter des entiers ou des chaînes comme paramètres, mais elles préfèrent transmettre des nombres comme ressources, qui pointent en fait à l'intérieur des nombres représentés. Ainsi, contrairement à la fonction BCMath, qui renvoie une chaîne, GMP renvoie uniquement la ressource. Cette ressource peut être transmise sous forme de numéro à n'importe quelle fonction GMP.

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



Le seul inconvénient de GMP est que lorsque vous souhaitez utiliser des fonctions non-GMP pour afficher ou utiliser des ressources, vous devez utiliser gmp_strval() ou gmp_intval() pour afficher l'emplacement Effectuez la conversion.

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

Remarque

BCMath est fourni avec PHP Si GMP n'est pas fourni avec PHP, vous devez le télécharger et l'installer séparément. Une autre option pour réaliser des opérations mathématiques de haute précision consiste à utiliser la bibliothèque big_int de PECL.

La différence entre include et require :

Les instructions include() et require() incluent et exécutent le fichier spécifié. Les deux structures sont exactement les mêmes en termes de fichiers à inclure. La seule différence est la gestion des erreurs :

•require() s'arrêtera lorsqu'elle constatera que le fichier inclus n'existe pas ou une erreur. se produit et signaler une erreur.
•include() génère un avertissement uniquement lorsque le fichier inclus n'existe pas et le script continue.

En d'autres termes, si vous souhaitez arrêter le traitement de la page lorsqu'un fichier est manquant, n'hésitez pas à utiliser require(). Ce n'est pas le cas avec include() et le script continuera à s'exécuter.

include_once et require_once

•include_once() est identique à require_once() et doit être utilisé pour le même fichier pendant exécution du script Lorsqu'il est possible d'être inclus plus d'une fois, vous voulez vous assurer qu'il ne l'est qu'une seule fois pour éviter des problèmes tels que la redéfinition des fonctions et la réaffectation des variables. C'est la principale différence entre include_once() et require_once() et include() et require().
•require_once() et include_once() sont moins efficaces que require() et include() car les deux premiers doivent déterminer si le fichier à importer existe déjà. `


La différence entre PHP merging array + et 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() 去除字符串首尾处的空白字符。 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn