ciao, ho questo codice circa un array multidimensionale:
Codice PHP:
$dnd = array ('elfo' => array ('incantesimi' => 'arcani',
'territorio' => 'foresta',
'classe' => 'guerriero-mago'),
'nano' => array ('incantesimi' => 'no',
'territorio' => 'montagna',
'classe' => 'guerriero'),
'umano' => array ('incantesimi' => 'arcani e divini',
'territorio' => 'qualunque',
'classe' => 'qualunque'));
foreach ($dnd as $razza => $info) {
echo "<h2>$razza:</h2>";
while (list ($info_key,$info_value)= each($info)) {
echo "
$info_key: $info_value</p>";
}
fino a qui tutto bene. Mi chiedevo come fare se avessi un array a più dimensioni, tipo questo:
Codice PHP:
$dnd = array ('elfo' => array ('incantesimi' => 'arcani',
'territorio' => 'foresta',
'classe' => 'guerriero-mago'),
'nano' => array ('incantesimi' => 'no',
'territorio' => 'montagna',
'classe' => 'guerriero'),
'umano' => array ('incantesimi' => 'arcani e divini',
'territorio' => 'qualunque',
'classe' => array ('guerriero', 'mago', 'chierico', 'ladro')));
io ho provato a inserire un if e un controllo sull'array, ma dubito che vada bene.
Codice PHP:
foreach ($dnd as $razza => $info) {
echo "<h2>$razza:</h2>";
while (list ($info_key,$info_value)= each($info)) {
if is_array($info_value) {
$info_value as => $sub_info };
else {
echo "
$info_key: $info_value</p>";
}
}
Come fare per tornare anche l'ultimo array e solo se questo esiste? E' possibile magari impostare di base che se esiste una variabile sub_info (cioè la terza dimensione dell'array) verrà mostrata?
grazie