Maison  >  Article  >  développement back-end  >  Résumer les connaissances pratiques mais facilement négligées en PHP (recommandé)

Résumer les connaissances pratiques mais facilement négligées en PHP (recommandé)

怪我咯
怪我咯original
2017-06-16 11:04:051629parcourir

Cet article résume principalement quelques petites connaissances utiles en PHP que l'on retrouve dans le travail quotidien mais qui sont facilement ignorées par les gens, comme par exemple si la fonction PHP détermine si la fonction existe, la fonction variable de la fonction PHP, etc. Amis qui en avez besoin, veuillez suivre l'éditeur pour jeter un œil à l'introduction détaillée.

Cet article résume principalement quelques connaissances utiles en PHP et les partage pour votre référence et votre apprentissage. Jetons un coup d'œil à l'introduction détaillée :

1. existe

Lorsque nous créons une fonction personnalisée et comprenons l'utilisation des fonctions variables, afin de garantir que la fonction appelée par le programme existe, nous utilisons souvent function_exists pour déterminer si la fonction existe. Le même method_exists peut être utilisé pour détecter si une méthode de classe existe.

function func() {
}
if (function_exists('func')){
 echo 'exists';
}

Si la classe est définie, vous pouvez utiliser class_exists

class MyClass{
}
// 使用前检查类是否存在
if (class_exists('MyClass')) {
 $myclass = new MyClass();
}

Il existe de nombreuses méthodes de vérification de ce type en PHP, par exemple si le fichier existe file_exists, etc.

$filename = 'test.txt';
if (!file_exists($filename)) {
 echo $filename . ' not exists.';
}

2 Fonctions variables. des fonctions PHP

La fonction dite variable signifie appeler une fonction via la valeur d'une variable. Parce que la valeur d'une variable est variable, différentes fonctions peuvent être appelées en modifiant la valeur d'une variable. . Il est souvent utilisé dans les fonctions de rappel, les listes de fonctions ou pour appeler différentes fonctions basées sur des paramètres dynamiques. La méthode pour appeler une fonction variable consiste à ajouter des parenthèses au nom de la variable.

function name() {
 echo 'jobs';
}
$func = 'name';
$func(); //调用可变函数

Les fonctions variables peuvent également être utilisées pour appeler des méthodes sur des objets

class book {
 function getName() {
  return 'bookname';
 }
}
$func = 'getName';
$book = new book();
$book->$func();

Les méthodes statiques peuvent également être appelées dynamiquement via des variables

$func = 'getSpeed';
$className = 'Car';
echo $className::$func(); //动态调用静态方法

Dans les méthodes statiques, la pseudo variable $this n'est pas autorisée à être utilisée. Vous pouvez utiliser self, parent, static pour appeler des méthodes et propriétés statiques en interne.

class Car {
 private static $speed = 10;
 
 public static function getSpeed() {
  return self::$speed;
 }
 
 public static function speedUp() {
  return self::$speed+=10;
 }
}
class BigCar extends Car {
 public static function start() {
  parent::speedUp();
 }
}

BigCar::start();
echo BigCar::getSpeed();

3. Fonctionnalités avancées des classes et des objets PHP

Comparaison d'objets, quand ils sont identiques Quand tous les attributs de deux instances d'une classe sont égaux, vous pouvez utiliser l'opérateur de comparaison == pour juger. Lorsque vous devez juger si deux variables sont des références au même objet, vous pouvez utiliser l'opérateur de congruence === pour juger.

class Car {
}
$a = new Car();
$b = new Car();
if ($a == $b) echo '=='; //true
if ($a === $b) echo '==='; //false

Copie d'objet. Dans certains cas particuliers, vous pouvez copier un objet via le mot-clé clone. À ce moment, la méthode __clone sera appelée, via Cette méthode magique définit la valeur d'une propriété.

class Car {
 public $name = 'car';
 
 public function __clone() {
  $obj = new Car();
  $obj->name = $this->name;
 }
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;
var_dump($b);

Sérialisation de l'objet, l'objet peut être sérialisé en chaîne via la méthode de sérialisation, utilisé pour stocker ou transférer des données, puis transmis si nécessaire pour désérialiser désérialise la chaîne en un objet à utiliser.

class Car {
 public $name = 'car';
}
$a = new Car();
$str = serialize($a); //对象序列化成字符串
echo $str.&#39;<br>&#39;;
$b = unserialize($str); //反序列化为对象
var_dump($b);

4. Obtenez la longueur de la chaîne dans la chaîne PHP

Il y a une fonction magique dans La fonction php peut obtenir directement la longueur d'une chaîne. Cette fonction est strlen().

$str = &#39;hello&#39;;
$len = strlen($str);
echo $len;//输出结果是5

La fonction strlen est très efficace pour calculer les caractères anglais, mais s'il y a des caractères chinois, que dois-je faire si je veux calculer la longueur ?

Vous pouvez utiliser la fonction mb_strlen() pour obtenir la longueur chinoise d'une chaîne.

$str = "我爱你";
echo mb_strlen($str,"UTF8");//结果:3,此处的UTF8表示中文编码是UTF8格式,中文一般采用UTF8编码

5. Chaîne de formatage de chaîne PHP

S'il y a une chaîne $str = '99.9' ;, comment faire en sorte que cette chaîne devienne 99,90 ?

Nous devons utiliser la fonction de chaîne formatée de PHP sprintf()

Description de la fonction : sprintf (format, chaîne à convertir)

Retour : bien formaté La chaîne

$str = &#39;99.9&#39;;
$result = sprintf(&#39;%01.2f&#39;, $str);
echo $result;//结果显示99.90

Expliquez, que signifie le format

%01.2f dans l'exemple ci-dessus ?

1. Ce symbole % signifie le début. L'écrire au début signifie que le format spécifié a commencé. C'est-à-dire le "caractère de début", jusqu'à ce que le "caractère de conversion" apparaisse, le format se termine.

2. Ce qui suit le symbole % est 0, qui est un "caractère à remplir", ce qui signifie que si la position est vide, elle sera remplie avec 0.

3. Ce qui suit 0 est 1. Ce 1 stipule que toutes les occupations de chaîne doivent avoir plus d'un chiffre (le point décimal est aussi un chiffre).

Si vous changez 1 en 6, la valeur de $result sera 099,90

Parce qu'il doit y avoir deux chiffres après la virgule, 99,90 a un total de 5 places, nous avons maintenant besoin de 6 espaces réservés, alors remplissez-les avec des 0.

4. Le .2 (point 2) après %01 est facile à comprendre Cela signifie que le nombre après la virgule doit occuper 2 chiffres. Si la valeur de $str est de 9,234 à ce moment, la valeur de $result sera de 9,23.

Pourquoi manque-t-il 4 ? Car après la virgule, selon la réglementation ci-dessus, il ne doit et ne peut occuper que 2 chiffres. Cependant, la valeur de $str occupe 3 chiffres après la virgule décimale, donc la mantisse 4 est supprimée, ne laissant que 23.

5. Enfin, terminez par f "caractère de conversion".

6. Évasion des chaînes dans les chaînes PHP

Fonction d'échappement de chaîne php addslashes()

Description de la fonction : utilisée pour le retour des caractères spéciaux et des caractères d'échappement. une chaîne

返回值:一个经过转义后的字符串

$str = "what&#39;s your name?";
echo addslashes($str);//输出:what\&#39;s your name?

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