valores valor puede para obtener multidimensional manejo indice index emplear elemento comparar buscar array_search array php arrays array-key

valor - obtener el indice de un array php



PHP-Obtener el nombre de la clave del valor de la matriz (10)

Tengo una matriz como la siguiente:

function example() { /* some stuff here that pushes items with dynamically created key strings into an array */ return array( // now lets pretend it returns the created array ''firstStringName'' => $whatEver, ''secondStringName'' => $somethingElse ); } $arr = example(); // now I know that $arr contains $arr[''firstStringName''];

Necesito encontrar el índice de $arr[''firstStringName''] modo que pueda recorrer array_keys($arr) y devolver la cadena de clave ''firstStringName'' por su índice. ¿Cómo puedo hacer eso?


Aquí hay otra opción

$array = [1=>''one'', 2=>''two'', 3=>''there'']; $array = array_flip($array); echo $array[''one''];



Sí, de hecho, php es uno de los pocos idiomas que ofrecen dicho soporte.

foreach($arr as $key=>$value) { }


Si el nombre es dinámico, entonces debes tener algo como

$arr[$key]

lo que significa que $ clave contiene el valor de la clave.

Puede usar array_keys() para obtener TODAS las teclas de una matriz, por ejemplo

$arr = array(''a'' => ''b'', ''c'' => ''d'') $x = array_keys($arr);

te daría

$x = array(0 => ''a'', 1 => ''c'');


Si lo entiendo correctamente, ¿no puedes simplemente usar:

foreach($arr as $key=>$value) { echo $key; }

Ver el manual de PHP


Si tiene un valor y desea encontrar la clave, use array_search() esta manera:

$arr = array (''first'' => ''a'', ''second'' => ''b'', ); $key = array_search (''a'', $arr);

$key ahora contendrá la clave para el valor ''a'' (es decir, ''first'' ).


puede usar la función clave de php para obtener el nombre de la clave:

<?php $array = array( ''fruit1'' => ''apple'', ''fruit2'' => ''orange'', ''fruit3'' => ''grape'', ''fruit4'' => ''apple'', ''fruit5'' => ''apple''); // this cycle echoes all associative array // key where value equals "apple" while ($fruit_name = current($array)) { if ($fruit_name == ''apple'') { echo key($array).''<br />''; } next($array); } ?>

como aquí: PHP: clave - Manual


si necesita devolver un conjunto de elementos con el mismo valor, use la función array_keys ()

$array = array(''red'' => 1, ''blue'' => 1, ''green'' => 2); print_r(array_keys($array, 1));


use array_keys () para obtener una matriz de todas las claves únicas.

Tenga en cuenta que también se puede acceder a una matriz con claves con nombre como $ $ $ con índices numéricos, como $ arr [0].

http://php.net/manual/en/function.array-keys.php