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''];
Compruebe la documentación de la función array_keys()
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].
key($arr);
devolverá el valor de clave para el elemento de matriz actual