Una array es esencialmente un elemento de almacenamiento para pares clave-valor que pertenecen al mismo tipo de datos. Si las claves se especifican explícitamente, los identificadores que comienzan en 0 se asignan a los valores por el compilador por su cuenta. Las arrays permiten una gran variedad de operaciones, como acceso, modificación y eliminación de los elementos almacenados. Las posiciones de los elementos se ajustan en consecuencia.
Enfoque 1: métodos array_search() y unset()
método array_search():
El valor primero se busca en la array y luego se elimina sucesivamente. El método array_search() se utiliza para buscar en la array un valor específico. Si tiene éxito, devuelve la primera clave correspondiente. El método array_search() distingue entre mayúsculas y minúsculas en términos de hacer coincidir el valor especificado con los valores iterados de la array. Si hay varias ocurrencias del mismo valor, solo se extrae una.
Sintaxis:
array_search($value, $array);
Argumentos:
- $valor: valor en la array que debe buscarse.
- $array: la array en la que se busca el valor.
Valor devuelto: Devuelve la clave si el valor existe en la array, de lo contrario devuelve falso.
método unset():
La función unset() en PHP se usa para restablecer cualquier variable. Si se llama a unset( ) sobre una función definida por el usuario, desarma las variables locales. Puede haber muchos valores que se pueden especificar como argumentos de esta función. Al menos una variable es obligatoria en el método unset().
Sintaxis:
unset($var);
Valor devuelto : La función unset() no devuelve ningún valor.
código PHP:
PHP
<?php #declaring an associative array $arr = array( 0 => 'GeeksForGeeks', 1 => 'Python', 2 => 'Java', 3 => 'Physics' ); #printing original array echo ("Original Array: \n"); var_dump($arr); #declaring the value to delete $val = "Physics"; #finding the key on the basis of value $key = array_search($val, $arr); if (($key) !== false) { #deleting the key found unset($arr[$key]); } echo ("<br><br>Modified Array: \n"); var_dump($arr); ?>
Original Array: array(4) { [0]=> string(13) "GeeksForGeeks" [1]=> string(6) "Python" [2]=> string(4) "Java" [3]=> string(7) "Physics" } Modified Array: array(3) { [0]=> string(13) "GeeksForGeeks" [1]=> string(6) "Python" [2]=> string(4) "Java" }
Enfoque 2: método array_diff()
La función array_diff() en PHP se usa para comparar los valores de dos (o más) arrays y devolver las diferencias. Devuelve una array que contiene las entradas de array1 que no están contenidas en array2 o array3, etc.
Sintaxis:
array_diff(arr, array1, array2, ...)
Argumentos:
- arr: La array que se compara con el resto de las arrays de.
- array1, array2….: Las arrays para comparar con la array principal.
Valor devuelto: Devuelve una array que contiene las entradas de arr que no están presentes en ninguna de las otras arrays correspondientes.
Confiamos en el enfoque de que convertimos el valor en una array usando el método array() en PHP y luego aplicamos el método array_diff() sobre ambas arrays. La diferencia en comparación con el método anterior es que todas las instancias de los valores especificados se eliminan de la array principal.
código PHP:
PHP
<?php #declaring an associative array $arr = array( 0 => 'GeeksForGeeks', 1 => 'Python', 2 => 'Java', 3 => 'Physics', 4 => 'Python' ); #printing original array echo ("Original Array: \n"); var_dump($arr); #declaring the value to delete $val = array( "Python" ); #finding the key on the basis of value $arr = array_diff($arr, $val); echo ("<br><br>Modified Array: \n"); var_dump($arr); ?>
Original Array: array(5) { [0]=> string(13) "GeeksForGeeks" [1]=> string(6) "Python" [2]=> string(4) "Java" [3]=> string(7) "Physics" [4]=> string(6) "Python" } Modified Array: array(3) { [0]=> string(13) "GeeksForGeeks" [2]=> string(4) "Java" [3]=> string(7) "Physics" }
Código PHP: el siguiente código ilustra el uso de este enfoque en el que las claves no son ID numéricos.
PHP
<?php #declaring an associative array $arr = array( 'key1' => 'GeeksForGeeks', 'key2' => 'Python', 'key3' => 'Java', 'key4' => 'Physics', 'key5' => 'Python' ); #printing original array echo ("Original Array: \n"); var_dump($arr); #declaring the value to delete $val = array( "Java" ); #finding the key on the basis of value $arr = array_diff($arr, $val); echo ("<br><br>Modified Array: \n"); var_dump($arr); ?>
Original Array: array(5) { ["key1"]=> string(13) "GeeksForGeeks" ["key2"]=> string(6) "Python" ["key3"]=> string(4) "Java" ["key4"]=> string(7) "Physics" ["key5"]=> string(6) "Python" } Modified Array: array(4) { ["key1"]=> string(13) "GeeksForGeeks" ["key2"]=> string(6) "Python" ["key4"]=> string(7) "Physics" ["key5"]=> string(6) "Python" }