Maison > Article > développement back-end > Analyse sous-jacente PHP sur le fractionnement forcé
Apprendre nécessite de savoir ce que c'est et pourquoi c'est, et les connaissances sous-jacentes liées à PHP sont ce type de connaissances.
Recommandé : "Formation PHP"
Aujourd'hui, nous parlerons du fractionnement forcé. En termes simples, le fractionnement forcé signifie "avant qu'une valeur ne soit activement attribuée à la variable de référence, la". Si une variable se voit attribuer une valeur, un fractionnement forcé se produira. "
C'est un peu déroutant à dire, jetons un coup d'œil à l'analyse du code.
Regardez le code suivant :
Si vous êtes un peu familier avec PHP : & les symboles de référence, vous devriez pouvoir voir que le résultat est gzchen , huit heures trente du soir, gzchen .
Jetons ensuite un coup d'œil au processus d'exécution sous-jacent du code ci-dessus.
Comme nous le savons tous, une variable est une structure, qui ressemble à ceci :
Chaque ligne est commentée, ce fichier est dans zend.h dans Répertoire Zend du code source PHP.
Lorsque le code s'exécute jusqu'à la ligne : 3 [$name = '8:30 in the soir'], la structure dans la mémoire ressemble à ceci :
Lorsque le code passe à la ligne : 4[name], la structure devient comme ceci :
passe à la ligne : 5[<span style="font-size: 14px; line-height: 1.76em;">Misplaced &</span>
name] et ligne :[$nameCopy = 'gzchen'], comme ceci :
Ici, ici, c'est ici qu'une scission forcée se produit.
Lorsque is_ref__gc[attribut de référence] passe de 0->1, si refcont_gc>1, alors une division forcée se produira. Le pseudo code est :
Il s'agit d'un fractionnement forcé. Les variables qui ont été affectées par valeur sont référencées et réaffectées. La variable affectée par valeur sera divisée en structure, dans ce cas $myName.
Ce principe n'est fondamentalement pas utilisé dans le développement réel, mais le fractionnement forcé est généralement testé avec la copie sur écriture(vache) lors d'entretiens.
Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web PHP chinois !
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!