Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Aiuto su array di array

    Ciao a tutti,
    ho la variabile $dati che può contenere uno o più array e voglio accedere ai valori di ogni singolo elemento di ogni array.
    Non so quanti sono gli array contenuti nella variabile $dati.

    Questo codice funziona se gli array contenuti in $dati sono più di uno.

    Codice PHP:
    $dati = array(array(1=>"1.1",2=>"1.2",3=>"1.3"), array(1=>"2.1",2=>"2.2",3=>"2.3"));

    $i=1;
    foreach (
    $dati as $array
    {
        echo 
    "Array $i:\n";
        foreach (
    $array as $variabile) {
            echo 
    "Valore $variabile.\n";
        }
        echo 
    "
    "
    ;
        
    $i++;

    ma va in errore quando $dati contiene un solo array perchè eseguo due volte il ciclo foreach.
    esempio:
    $dati = array(1=>"1.1",2=>"1.2",3=>"1.3");
    Pensavo di usare count() ma in questo caso mi da il numero di elementi e non il numero di array.
    Come faccio a sapere quanti array contiene $dati ?

    Qualcuno può aiutarmi?

    Grazie
    Guidino

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    nessun aiuto?
    Guidino

  3. #3
    Non ti funziona se fai il controllo Count nel secondo ciclo?
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  4. #4
    Forse ti gioverebbe questa modifica al codice:

    Codice PHP:
    $dati = array(array(1=>"1.1",2=>"1.2",3=>"1.3"), array(1=>"2.1",2=>"2.2",3=>"2.3")); 

    $i=1
    foreach (
    $dati as $array

        echo 
    "Array $i:\n"
        if(
    count($array)<1){
            echo 
    "Valore $array.\n"
        }else{
            foreach (
    $array as $variabile) { 
                echo 
    "Valore $variabile.\n"
            } ;
        };
        echo 
    "
    "

        
    $i++; 
    }; 

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie della risposta,
    funziona ... ma con if(count(array) == 1) e non con if(count(array) > 1)
    Guidino

  6. #6
    Vero, scusa la distrazione.

    Credo che sarebbe ancora più corretto
    .
    if(count($array)<2)

    CHe intercetta anche un eventuale array vuoto o non definito evitando possibili errori.

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.