una - obtener el valor de un array php
Cómo obtener la posición de una clave dentro de una matriz (4)
Ok, entonces necesito agarrar la posición de ''blah'' dentro de esta matriz (la posición no siempre será la misma). Por ejemplo:
$array = (
''a'' => $some_content,
''b'' => $more_content,
''c'' => array($content),
''blah'' => array($stuff),
''d'' => $info,
''e'' => $more_info,
);
Por lo tanto, me gustaría poder devolver el número de ubicación de la clave ''blah'' dentro de la matriz. En este escenario, debería regresar 3. ¿Cómo puedo hacer esto rápidamente? Y sin afectar a la matriz $ array en absoluto.
Si sabes que existe la clave:
PHP 5.4 ( Demo ):
echo array_flip(array_keys($array))[''blah''];
PHP 5.3:
$keys = array_flip(array_keys($array));
echo $keys[''blah''];
Si no sabe que existe la clave, puede consultar con isset
:
$keys = array_flip(array_keys($array));
echo isset($keys[''blah'']) ? $keys[''blah''] : ''not found'' ;
Esto es simplemente como array_search
pero hace uso del mapa que ya existe dentro de cualquier array. No puedo decir si es realmente mejor que array_search
, esto podría depender del escenario, así que solo otra alternativa.
Usuario array_search
( doc ). A saber, `$ index = array_search (''blah'', $ array)
$keys=array_keys($array);
le dará una matriz que contiene las claves de $array
Entonces, array_search(''blah'', $keys);
le dará el índice de blah
en $keys
y por lo tanto, $array
$i = array_search(''blah'', array_keys($array));