Maison > Article > développement back-end > Erreurs courantes en PHP
Cet article partage principalement avec vous les erreurs courantes en PHP, qui sont résumées lors de l'utilisation de PHP dans la vie quotidienne. J'espère que cela pourra aider tout le monde.
1 Questions citées
<?php$arr = range(1,3);foreach ($arr as &$v){ } print_r($arr);foreach ($arr as $v){ print_r($arr); }
2 Détecter si une variable est définie
<?php$data = array();//$data['name'] = 0;//$data['name'] = null;$data['name'] = false;if (isset($data['name'])) { var_dump('not set name'); } else { var_dump('already set name'); }if (($data['name'])) { var_dump('data-name 存在'); } else { var_dump('data-name 不存在'); }if (array_key_exists('name', $data)) { var_dump('key name 存在于array中'); } else { var_dump('key name 不存在于array中'); }
Trois valeurs, trois variables de jugement Le les résultats de la méthode indiquant s'il existe sont :
3 Utilisez directement l'index de données renvoyé par la fonction
<?phpclass Config{ private $values = []; public function __construct() { // 使用数组对象而不是数组 // $this->values = new ArrayObject(); } public function &getValues() { return $this->values; } }$config = new Config();$config->getValues()['test'] = 'test';echo $config->getValues()['test'];
Si vous n'utilisez pas d'objet pour stocker des valeurs, ou n'utilisez pas de références pour transformer le résultat de la fonction en une référence au tableau de valeurs, alors quelque chose peut mal tourner
Notice: Undefined index: test in /Users/leon/Documents/workspace/test/php7.php on line 20
Cela détruira l'encapsulation de l'objet, il est préférable de faire ceci Écrivez
class Config{ private $values = []; public function setValue($key, $value) { $this->values[$key] = $value; } public function getValue($key) { return $this->values[$key]; } }$config = new Config();$config->setValue('testKey', 'testValue');echo $config->getValue('testKey'); // 输出『testValue』
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!