Certains de ces concepts PHP sont difficiles à comprendre au début, je les liste tous, dans l'espoir d'aider certaines personnes et de réduire les épines sur la voie à suivre.
1. variables variables
variable_variables.php
écho $$a.'
';
$b = 'Jean';
$c = 'Marie';
$e = 'Joe';
$étudiants = array('b','c','e');
echo ${$students[1]};
/*
foreach($students as $seat){
echo $$seat.'
';
}
$$var[1]
${$var[1]} pour #1
*/
$a = 'bonjour';
Attribuez bonjour à la variable $a, donc $$a = ${hello} = $hello = 'bonjour tout le monde';
Si pour $$students[1], cela entraînera une confusion et l'interpréteur PHP pourrait ne pas être en mesure de le comprendre. Bien que '[' ait un opérateur supérieur, le résultat pourrait ne pas être affiché.
Une bonne façon de l'écrire est : ${$students[1]} = 'Mary'
;2. Fonction de tableau (fonction de tableau)
array_functions.php
';
$numbers = array(1,2,3,4,5,6);
print_r($numbers);
echo '< ;br / >';
// déplace le premier élément d'un tableau
// l'index sera réinitialisé
$a = array_shift($numbers);
echo 'a: '.$a.'
';
print_r($numbers);
// pousser l'élément devant le tableau
// renvoie le nombre de tableaux et réinitialiser l'index du tableau
$b = array_unshift($numbers, 'first');
echo '
b : '.$b.'
';
print_r($numbers);
echo '
pop & push
';// pousser l'élément jusqu'à la fin du tableau
$d = array_push($numbers, 'last');
echo 'd: '.$d.'
';
print_r($numéros);
Plus de références sur les fonctions de tableau
3. dates et heures (heure et date)
Il existe 3 façons de créer une heure unix (nombre de secondes du 1/1970 à maintenant)
time(); Renvoie l'horodatage actuel
mktime($hr, $min, $sec, $month, $day, $year mktime(6,30,0,5,22 ); 2012) Renvoie l'horodatage de 2012 22/05 6:30:00
strtotime($string); strtotime("+1 day") Renvoie l'horodatage de cette heure demain plus 'lundi dernier' ' Lasy Year '
checkdate($month, $day, $year); Vérifier si une date est vraie checkdate(5,32,2012) ? 🎜>Après avoir obtenu l'horodatage, nous devons le convertir en lisible, tel que 2012/5/22
Nous avons 2 méthodes date($format, $timestamp); )
Il est recommandé d'utiliser le deuxième type, strftime("%Y-%m-%d %H:%M:%S"); // return 2012-05-22 15 :46: 40
$_SERVER
server_variables.php
6.variable_scope (portée de la variable globale statique)
static_variables.php
test();
echo '
';
test();
echo '
';
test();
echo '
';
echo '
test1();
echo '
';
test1();
echo '
';
test1();
echo '
';
La variable $a dans la fonction test() n'enregistre pas le résultat de $a++, et les appels répétés à test() n'augmentent pas la valeur de $a
La variable $a dans la fonction test1() déclare staic $a = 0, qui est une variable statique.
Citation : Une variable statique n'existe que dans la portée d'une fonction locale, mais elle ne perd pas sa valeur lorsque l'exécution du programme quitte cette portée.
Une variable statique ne peut exister que dans la portée de la fonction locale, c'est-à-dire le corps de la fonction test1(), mais lorsque le programme quitte la portée test1(), la variable statique ne perdra pas sa valeur, c'est-à-dire le $ une variable augmentera de 1 ; lorsque test1() sera à nouveau appelé, $a = 1;
global_variables.php
fonction Somme()
{
global $a, $b;
$b = $a + $b;
}
Somme();
echo $b;
echo '
fonction Sum1()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
Sum1();
echo $b;
Citation : En PHP, les variables globales doivent être déclarées globales à l'intérieur d'une fonction si elles doivent être utilisées dans cette fonction
Si ces variables doivent être utilisées dans une fonction, les variables globales doivent être définies dans cette fonction. Cela peut éviter bien des ennuis.
Plus de détails
7.reference(reference)
variable_reference.php
1.Erreur fatale : utilisation de $this lorsqu'il n'est pas dans le contexte d'un objet
Cette erreur est certainement facile à se produire lorsque vous apprenez la POO pour la première fois, car il y a un concept que vous ne comprenez pas vraiment. L'accessibilité d'un cours peut aussi être considérée comme une portée. On peut aussi penser à un Chinois à l'étranger qui n'appartient à aucune culture et ne parle pas de langues étrangères (peut-être qu'il connaît un peu mais il ne peut pas) ; se passer. Communiquer avec des étrangers car ils ne sont pas nés dans le même pays.
Alors, comment l'erreur s'est-elle produite ? Regardez l'exemple ci-dessous :
Cette erreur est très classique et très pratique Regardons d’abord la définition de statique :
Déclarer des propriétés ou des méthodes de classe comme statiques les rend accessibles sans avoir besoin d'une instanciation de la classe. Une propriété déclarée comme statique n'est pas accessible avec un objet de classe instancié (bien qu'une méthode statique le puisse).
Traduction : Définir les propriétés ou les méthodes d'une classe comme statiques permet d'y accéder directement sans initialiser une classe. Une propriété définie comme statique n'est pas accessible aux objets de la classe à l'aide de l'opérateur objet * -> * (elle est accessible via des méthodes statiques).
Exemple de description :
Les lignes 7 et 10 ont fait la même erreur. La première consiste à utiliser l'opérateur objet pour accéder aux variables statiques. Si vous regardez la définition, $this est une pseudo variable équivalente à un objet, une instance. Si vous utilisez l'opérateur d'objet -> pour y accéder, une erreur sera signalée.
De même, vous ne pouvez pas utiliser l'opérateur statique :: pour accéder à une variable publique. L'accès correct doit être les lignes 14 et 25, l'une est accessible dans la définition de la classe (self:: === Trones::) et l'autre est accessible en dehors de la classe.
Pour les classes héritées, les règles ci-dessus s'appliquent également.
2.Erreur fatale : Appel à une méthode privée
Il y a récemment une série télévisée très intéressante intitulée Game of Thrones. Nous supposons qu'il y a 3 partis, 7 rois, des gens ordinaires et une dame dragon. Les trois d’entre eux se sont affrontés ci-dessous pour la victoire finale, qui était la couronne.
L'histoire suivante a également un titre : Visibilité de la classe (visibilité) Si vous connaissez la réponse finale, vous pouvez sauter la partie explication.
当static 碰到 private ,结合产生复杂,也产生美;就像抽象的人,像我们大学老师讲的数学课;(不过网易的公开数学课很好)
如果想要龙女 获得最后的胜利, 你只要帮她一把 将13行的 $this->getFire() 这部分去掉就可以了。同样的道理 你无法在一个静态函数里 使用任何对象操作符。
Qu'est-ce que c'est ? 你去奋斗吧!
如果你不构建大型的框架和网站 这些概念比如 Interface Implémenter le résumé 。。。 你还是不知道的好。