Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    array multidimensionali - come mostrare eventuali sotto dimensioni

    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
    Si fanno sempre nuove scoperte

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    while (list ($info_key,$info_value)= each($info)) {
      if (
    is_array($info_value)) {
        foreach (
    $info_value as $subvalue) {
          ...
        };
      } else {
          ...
      };
    }; 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.