Maison  >  Article  >  développement back-end  >  Une brève discussion du code source PHP vingt-cinq : à propos des fonctions clés suivantes, actuelles

Une brève discussion du code source PHP vingt-cinq : à propos des fonctions clés suivantes, actuelles

不言
不言original
2018-06-28 17:59:021795parcourir

Cet article présente principalement le code source PHP 25 : concernant les fonctions clés suivantes, actuelles, il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Une brève discussion. sur le code source PHP vingt-cinq : À propos de la fonction clé suivante, actuelle

key — Récupère le nom de la clé à partir du tableau associatif
mixed key ( array &array )
key() renvoie l'unité actuelle dans le nom de la clé du tableau.

Cette fonction renvoie la valeur de la clé en appelant zend_hash_get_current_key_ex dans zend_hash.c
Dans la fonction zend_hash_get_current_key_ex, déterminez si la clé est une chaîne ou un nombre basé sur l'attribut nKeyLength, puis retournez

current — Renvoie l'élément actuel dans le tableau
mixed current ( array &array )
Chaque tableau a un pointeur interne pointant vers son élément "actuel", pointant initialement vers le premier élément inséré dans le tableau .
La fonction current() renvoie la valeur de l'unité du tableau actuellement pointée par le pointeur interne, sans déplacer le pointeur. Si le pointeur interne pointe au-delà de la fin de la liste de cellules, current() renvoie FALSE.

Cette fonction renvoie la valeur en appelant finalement la fonction zend_hash_get_current_data_ex
La fonction zend_hash_get_current_data_ex renvoie directement la valeur stockée dans l'élément du tableau :
*pData = p->pData;
Si dans le tableau S'il y a un élément faux, la valeur de retour est la même que la valeur de retour introuvable. C'est un endroit compliqué

suivant — Déplacez le pointeur interne dans le tableau vers l'avant d'un bit
mixte. next (array &array)
Renvoie la valeur de la cellule suivante pointée par le pointeur interne du tableau, ou FALSE lorsqu'il n'y a plus de cellules.

Les opérations next() et current() sont très similaires, avec une différence : le pointeur interne est avancé d'une position avant de renvoyer la valeur. Autrement dit, zend_hash_move_forward(target_hash);
est appelé, ce qui signifie qu'il renvoie la valeur de l'unité suivante du tableau et avance le pointeur du tableau d'un bit. Si le déplacement du pointeur entraîne le déplacement du pointeur au-delà de la fin de l'élément du tableau, next() renvoie FALSE.
Et comme current(), lorsque false existe dans l'élément du tableau, la valeur de retour de next() sera également false

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile. à l'apprentissage de tous. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Une brève discussion sur le code source PHP vingt-quatre : Analyse des raisons pour lesquelles l'itération ne peut pas être terminée lorsque la valeur est fausse dans l'implémentation de l'itérateur

Une brève discussion sur le code source PHP vingt-trois : à propos de la fonction urlencode

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