Maison  >  Article  >  développement back-end  >  PHP détermine si le champ objet est nul ou non défini

PHP détermine si le champ objet est nul ou non défini

PHPz
PHPzoriginal
2023-04-19 11:29:111226parcourir

En développement, nous devons souvent déterminer si un champ spécifique d'un objet a une valeur, mais cette valeur peut être nulle ou indéfinie. Bien que les deux cas n'indiquent aucune valeur, ils sont toujours différents. Par conséquent, différents traitements doivent être effectués en fonction de la situation réelle lors de son utilisation.

1. La différence entre null et undefined

  1. null

null signifie que la valeur d'un objet ou d'une variable définie est vide. Il s'agit d'une méthode d'affectation, indiquant qu'aucune valeur n'a été attribuée à la variable. null peut également être utilisé dans le code de débogage pour indiquer qu'une propriété n'a pas été attribuée correctement. Par conséquent, pour juger si la valeur de l'attribut est vide, utilisez l'opérateur ===, car il s'agit d'un opérateur d'égalité stricte et ne retournera vrai que lorsque les types de données variables sont les mêmes et que les valeurs sont égales. Par exemple :

$data = [
    'title' => null,
    'content' => '内容',
];
if ($data['title'] === null) {
    echo '未设置标题';
}
  1. undéfini

undéfini signifie que la variable a été déclarée mais qu'aucune valeur n'a encore été attribuée. De plus, undéfini a les situations suivantes :

(1) La variable n'existe pas

(. 2) Un certain attribut n'existe pas dans l'objet

(3) La fonction n'a pas de valeur de retour

Si vous souhaitez déterminer si un certain attribut n'est pas défini, vous pouvez utiliser la fonction isset ou la fonction vide pour déterminer, mais cela est recommandé d'utiliser la fonction isset. Par exemple :

$class = new stdClass();
if (!isset($class->name)) {
    echo '未定义属性name';
}

2. Comment déterminer si un champ d'objet est nul ou indéfini

Pour déterminer si un champ d'objet est nul ou indéfini, vous pouvez utiliser la fonction isset ou la fonction array_key_exists pour déterminer. La méthode spécifique est la suivante :

  1. Fonction isset

Cette fonction est utilisée pour déterminer si la variable a été déclarée et si la valeur n'est pas NULL.

$data = [
    'title' => null,
    'content' => '内容',
];
if (!isset($data['title'])) {
    echo '未设置标题';
}
  1. Fonction array_key_exists

Cette fonction est utilisée pour déterminer si un nom de clé donné existe dans un tableau. Renvoie vrai si le nom de clé existe, faux s'il n'existe pas.

$data = [
    'title' => null,
    'content' => '内容',
];
if (!array_key_exists('title', $data)) {
    echo '未设置标题';
}

Si vous souhaitez déterminer si une certaine propriété existe dans un objet, vous pouvez utiliser la fonction isset ou la fonction property_exists pour déterminer. La méthode spécifique est la suivante :

  1. Fonction isset

Cette fonction est utilisée pour déterminer si la variable a été déclarée et si la valeur n'est pas NULL.

$class = new stdClass();
if (!isset($class->name)) {
    echo '未定义属性name';
}
  1. fonction property_exists

Cette fonction est utilisée pour déterminer si un objet possède une propriété spécifiée.

$class = new stdClass();
if (!property_exists($class, 'name')) {
    echo '未定义属性name';
}

3. Résumé

En PHP, juger si un champ d'objet est nul ou indéfini est une compétence très importante, qui doit être soigneusement maîtrisée dans le développement réel. Selon les besoins réels, vous pouvez choisir d'utiliser la fonction isset, la fonction array_key_exists, la fonction property_exists, etc. Différentes méthodes conviennent à différents scénarios et doivent être utilisées avec flexibilité pour éviter des erreurs inutiles.

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