Duda sobre PHP

Hola a quién me responda:
El siguiente código pertenece a un libro, pero el navegador me da error (Parse error).
Ahí va el código:
<?php
$mi_array= array(array("manzana", "pera", "melón"), array("carne", "pescado", "fruta"), array(12,23,34));
foreach ($mi_array as $indice => list($a, $b, $c))  {
echo "Valores del índice $indice :: $a, $b y $c <br>" ;
}
?>
Agradecería que me indicases el error y una explicación si es posible. Mi versión de PHP es la 5.3.0
Muchas Gracias a quién me responda.
{"Lat":38.156013550911,"Lng":-0.892049074172974}

1 Respuesta

Respuesta
1
El error es el siguiente:
Parse error: syntax error, unexpected T_LIST in ~/test.php on line 3
Que quiere decir que la función foreach no soporta list como valor en las iteraciones. Tienes que modificar ligeramente el código:
<?php
    $mi_array=array(
        array("manzana", "pera", "melón"),
        array("carne", "pescado", "fruta"),
        array(12, 23, 34),
    );
    foreach ($mi_array as $indice => $valor)  {
        list($a, $b, $c) = $valor;
        echo "Valores del índice $indice :: $a, $b y $c <br>";
    }
?>
Observa que la sentencia list se llama dentro del bucle foreach.
Hola:
Me lo has aclarado bastante bien. ¿Tienes alguna idea sobre si este código era válido en
¿Versiones anteriores de PHP?
Porque no entiendo cómo puede aparecer este error en un libro que se llama PHP6, que se
supone que trata sobre la versión de PHP más avanzada.
A lo mejor en PHP6 es válido, pero las versiones que yo utilizo en producción ahora mismo (PHP 5.2, PHP 5.3) no lo soportan. Además PHP6 todavía está en estado bastante embrionario, y ni siquiera hay documentación buena en el sitio web oficial de php (http://www.php.net)
En PHP4 ni siquiera lo he probado, porque a no ser que necesites mantener código "legacy", no se debería utilizar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas