¿Cuáles son las diferencias entre array_keys() y array_key_exists() en PHP?

El siguiente artículo indica las diferencias entre las dos funciones integradas array_keys() y array_key_exists() en PHP.

Función array_keys(): La función array_keys( ) se utiliza para devolver todas las claves o un subconjunto de claves de array. Esta función funciona tanto para arrays indexadas como asociativas. 

Sintaxis:

array_keys(array, value, strict)

Parámetros: 

  • array: una array con claves para comprobar.
  • valor: El valor para recuperar las claves.
  • estricto: El parámetro para comprobar el tipo de datos de la variable o no.

Ejemplo 1:

PHP

<?php
$arr = array(
    "Java" => "SpringBoot",
    "PHP 4.0" => "CodeIgniter",
    "Python" => "Django",
    "PHP 3.0" => "CodeIgniter"
);
  
// Searching for keys of codeigniter
$key1 = array_keys($arr, "CodeIgniter");
print("Keys for CodeIgniter : ");
print_r($key1);
print("</br>");
  
// Searching for keys of wordpress
$key2 = array_keys($arr, "WordPress");
print("Keys for WordPress : ");
print_r($key2);
?>

Producción:

Keys for CodeIgniter : Array ( [0] => PHP 4.0 [1] => PHP 3.0 )
Keys for WordPress : Array ( )

Ejemplo 2:

PHP

<?php
  $arr = array(1, 2, 3, 4, 5);
  
  // Searching for keys of string 5
  // using strict parameter true
  $key1 = array_keys($arr, "5", true);
  print("Keys for '5' : ");
  print_r($key1);
  echo("</br>");
  
  // Searching for keys of string 5
  // using strict parameter false
  $key2 = array_keys($arr, "5", false);
  print("Keys for '5' : ");
  print_r($key2);
?>

Producción:

Keys for '5' : Array ( )
Keys for '5' : Array ( [0] => 4 )

array_clave_existe() :

Sintaxis:

array_key_exists(key, array)

Parámetros: 

  • clave: Los valores a comprobar.
  • array: una array con claves para verificar.

Ejemplo:

PHP

<?php
  $arr = array(1, 2, 3, 4, 5);
  
  // Searching for keys of string 5
  $key1 = array_key_exists('4', $arr);
  if($key1) {
      echo("Key exists");
  }else {
      echo("Key does not exist");
  }
?>

Producción:

key exists

Diferencias: Existen las siguientes diferencias entre los dos métodos mencionados: 

array_keys array_key_exists
Comprueba si el valor correspondiente está asignado a cualquier tecla de la array. Comprueba si existe una clave en la array.
Devuelve una array. Devuelve un valor booleano.
Funciona tanto para arreglos unidimensionales como multidimensionales. Funciona solo para arreglos unidimensionales.
Se puede usar para hacer coincidir el tipo de datos usando un parámetro estricto Se puede utilizar para hacer coincidir el único valor
También se puede usar para recuperar todas las claves de la array si el parámetro de valor está en blanco. Simplemente busca la clave especificada en la array. 

Publicación traducida automáticamente

Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *