PHP: Cómo acceder elemento de la matriz de valores con el uso de la matriz de índice de

Cómo acceder elemento de la matriz de valores con el uso de la matriz de índice?

<?
$json = '{
    "dynamic":{
       "pageCount":"12",
       "tableCount":"1"
    }
}';

$arr = json_decode($json, true);

echo $arr['dynamic']['pageCount']; //working
echo $arr[0]['pageCount']; //not working
?>

Yo no sé lo que hay en ‘dinámica’, así que quiero acceder pageCount valores de forma dinámica?

  • foreach va a iterar a través de la matriz, proporcionando las claves y valores. reset devuelve el primer valor, independientemente de la clave (también se puede obtener la clave con la key). array_values reemplazará las teclas con auto-incremento de los números enteros. ¿Cuál es exactamente tu caso de uso?
InformationsquelleAutor Shiv | 2012-09-05

2 Kommentare

  1. 1
    $arr = json_decode($json, true);
    foreach ($arr as $key => $value) {
        if (isset($value['pageCount'])) {
            //do something with the page count
        }
    }

    Si la estructura es siempre una sola anidada JS objeto:

    $obj = current($arr);
    echo $obj['pageCount'];
    • OK, tengo trabajo. Pero estaba pensando si no hay acceso directo sin bucles
    • Puede ser tan directa que duele: extract(reset($arr));. Como dije en el comentario – ¿cuál es el caso de uso?
    • He actualizado mi respuesta con un no-bucle solución que funcionará sólo si la estructura es siempre una sola anidada JS objeto como en el ejemplo.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein