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-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!