Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation de la fonction PHP array_keys()

Explication détaillée de l'utilisation de la fonction PHP array_keys()

王林
王林original
2023-06-27 11:49:222218parcourir

Explication détaillée de l'utilisation de la fonction PHP array_keys()

array_keys() est une fonction de tableau très couramment utilisée en PHP. Elle peut être utilisée pour obtenir tous les noms de clés du tableau et renvoyer un tableau contenant les noms de clés obtenus. Ci-dessous, nous expliquerons son utilisation en détail.

  1. Description de la fonction

array_keys($array, $search_value, $strict);

Description du paramètre :

$array : paramètre requis, tableau d'entrée.

$search_value : Paramètre facultatif, valeur utilisée pour rechercher.

$strict : Paramètre facultatif, effectuez une comparaison identique. La valeur par défaut est false, qui utilise une comparaison assouplie.

Valeur de retour :

Si $search_value n'est pas défini, toutes les valeurs clés de $array sont renvoyées.

Si $search_value est défini, renvoie la valeur clé correspondant à $search_value dans $array.

  1. Exemple d'utilisation

Ce qui suit est un exemple simple montrant comment utiliser la fonction array_keys() pour obtenir les noms de clés dans un tableau :

<?php
  $array = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry', 'd' => 'durian');

  // 获取数组中所有的键名
  $keys = array_keys($array);
  print_r($keys);

  // 获取数组中的键名,搜索值为'banana'
  $banana_keys = array_keys($array, 'banana');
  print_r($banana_keys);
?>

Le résultat est le suivant :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
Array
(
    [0] => b
)
  1. Utilisation avancée

3.1 Retour au premier Le nom de clé d'une correspondance

Si $search_value n'est pas trouvé dans le tableau spécifié, array_keys() renverra un tableau vide. Cependant, nous pouvons utiliser la fonction array_slice() et le pointeur de tableau actuel pour obtenir le premier nom de clé.

L'exemple suivant montre comment obtenir le nom de clé de la première entrée correspondante :

<?php
  $array = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry', 'd' => 'durian', 'e' => 'banana');

  // 获取数组中的键名,搜索值为'banana'
  $banana_keys = array_keys($array, 'banana');

  if (count($banana_keys) > 0) {
      $first_banana_key = current(array_slice($banana_keys, 0, 1));
      echo '第一个匹配项的键名:' . $first_banana_key;
  }
?>

Le résultat est le suivant :

第一个匹配项的键名:b

3.2 Utilisation de la comparaison stricte

Nous pouvons utiliser le troisième paramètre $strict pour activer la comparaison congruente. Il garantira que les valeurs sont du même type de données avant la correspondance.

L'exemple suivant illustre comment utiliser $strict pour une comparaison congruente :

<?php
  $array = array('1' => 'apple', '2' => 'banana', '3' => 'cherry');
  
  // 未使用严格比较,输出结果为 '2'
  $keys = array_keys($array, '2');
  echo '未使用严格比较:';
  print_r($keys);

  // 使用严格比较,输出结果为空数组
  $keys = array_keys($array, '2', true);
  echo '使用严格比较:';
  print_r($keys);
?>

Le résultat est le suivant :

未使用严格比较:Array ( [0] => 2 )
使用严格比较:Array ( )
  1. Summary

array_keys() est une fonction de tableau très pratique en PHP qui peut être utilisée pour obtenir le contenu d'un tableau Tous les noms de clés. Nous pouvons utiliser des paramètres facultatifs pour rechercher une valeur spécifique et utiliser le troisième paramètre pour permettre une comparaison stricte.

Bien que array_keys() soit très puissant, nous devons toujours être prudents lorsqu'il s'agit de grands tableaux. S'il est utilisé avec négligence, il peut soit entraîner une saturation de la mémoire, soit prendre beaucoup de temps. Par conséquent, les problèmes de performances et d’évolutivité doivent être pris en compte lors de l’écriture du code.

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