Gestione array multidimensionale

antoooo

Nuovo Utente
5 Gen 2022
11
0
1
Ciao a tutti,
per esercizio devo strutturare un array multimensionale contenente 5 dati di 10 persone, in seguito dichiarare una funzione che legga e stampi a video i dati memorizzati. Ho creato e strutturato l'array e definito la funzione, ma a video, a fine schermata viene stampato "1" che non avevo intenzione di visualizzare. Sicuramente ho commesso qualche errore, mi aiutereste a capire dove e come correggerlo? E se avete consigli su come strutturare e gestire meglio l'array sono bene accetti.
Ecco il codice che ho scritto:

PHP:
<?php
            function LeggiPersone($array)
            {
            $LeggiPersone=($array);
                foreach($array as $persona)
                {   
                print("<table border='1' align='center' cellspacing='0' cellpadding='25'>");
                print("<h3 align='center'><b>SCHEDA ANAGRAFICA</b></h3><br>");
                foreach($persona as $k=>$v)
                {
                print("<tr>");
                print_r("<td width=‘150px’ align='center' valign='middle'>$k:</td><td width=‘300px’ align='center' valign='middle'>$v</td>");
                print("</tr>");
                }
            print("</table>");
            print("<br>");
            }   
            return $LeggiPersone=true;
            }
        ?>
        <?php
            $array=[
            [
            "Nome"=>"Nome1",
            "Cognome"=>"Cognome1",
            "Data di nascita"=>"01/01/1981",
            "Luogo di nascita"=>"Roma",
            "Codice fiscale"=>"ABCDEF01G23H445I",
            ],
            [
            "Nome"=>"Nome2",
            "Cognome"=>"Cognome2",
            "Data di nascita"=>"21/02/1982",
            "Luogo di nascita"=>"Pisa",
            "Codice fiscale"=>"LMNOPQ67R89S012T",
            ],
            [
            "Nome"=>"Nome3",
            "Cognome"=>"Cognome3",
            "Data di nascita"=>"11/03/1983",
            "Luogo di nascita"=>"Matera",
            "Codice fiscale"=>"DEFABC34G23H445H",
            ],
            [
            "Nome"=>"Nome4",
            "Cognome"=>"Cognome4",
            "Data di nascita"=>"15/04/1984",
            "Luogo di nascita"=>"Torino",
            "Codice fiscale"=>"NMRDEF01G23H566F",
            ],
            [
            "Nome"=>"Nome5",
            "Cognome"=>"Cognome5",
            "Data di nascita"=>"07/06/1985",
            "Luogo di nascita"=>"Brindisi",
            "Codice fiscale"=>"BCEDRF55S23H445M",
            ],
            [
            "Nome"=>"Nome6",
            "Cognome"=>"Venezia",
            "Data di nascita"=>"01/07/1986",
            "Luogo di nascita"=>"Venezia",
            "Codice fiscale"=>"RVSRTR87G23S725C",
            ],
            [
            "Nome"=>"Nome7",
            "Cognome"=>"Cognome7",
            "Data di nascita"=>"01/08/1987",
            "Luogo di nascita"=>"Trapani",
            "Codice fiscale"=>"LNSBTT01G62M112I",
            ],
            [
            "Nome"=>"Nome8",
            "Cognome"=>"Cognome8",
            "Data di nascita"=>"01/05/1988",
            "Luogo di nascita"=>"Sassari",
            "Codice fiscale"=>"BRCNDR01S21I783K",
            ],
            [
            "Nome"=>"Nome9",
            "Cognome"=>"Cognome9",
            "Data di nascita"=>"14/09/1989",
            "Luogo di nascita"=>"Cosenza",
            "Codice fiscale"=>"MRTFLP15V26H189R",
            ],
            [
            "Nome"=>"Nome10",
            "Cognome"=>"Cognome10",
            "Data di nascita"=>"26/11/1990",
            "Luogo di nascita"=>"Napoli",
            "Codice fiscale"=>"PLMELN24J23Y641O",
            ],
            ];
            
            $LeggiPersone=LeggiPersone($array);
            {
            print_r($LeggiPersone."<br>");
            }
        ?>
Grazie per l'aiuto
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao, se non ho capito male devi ripetere per 10 volte (quante sono le persone inserite nell'array) alcuni comandi; io non userei il foreach (il forerach lo usi quando non conosci il numero di elementi dell'array (foreach per ogni), in questo caso invece lo sai: 10) per cui io userei un semplice ciclo for. A questo punto non è necessario, secondo me, utilizzare un altro ciclo (complicheresti solo le cose, olrtetutto, a occhio e croce, per come è strutturato l'array, non potresti nemmeno usarlo) bastano una serie di echo; comunque faccio qualche prova e ti faccio sapere. A presto





Zorro
 
Ultima modifica:
  • Like
Reactions: antoooo

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
insomma, dopo aver visto come é fatta l'array delle persone, diventa anche facile ...
PHP:
<?php
$array=
[[
    "Nome"=>"Nome1",
    "Cognome"=>"Cognome1",
    "Data di nascita"=>"01/01/1981",
    "Luogo di nascita"=>"Roma",
    "Codice fiscale"=>"ABCDEF01G23H445I",
],
[
    "Nome"=>"Nome2",
    "Cognome"=>"Cognome2",
    "Data di nascita"=>"21/02/1982",
    "Luogo di nascita"=>"Pisa",
    "Codice fiscale"=>"LMNOPQ67R89S012T",
],
[
    "Nome"=>"Nome3",
    "Cognome"=>"Cognome3",
    "Data di nascita"=>"11/03/1983",
    "Luogo di nascita"=>"Matera",
    "Codice fiscale"=>"DEFABC34G23H445H",
],
[
    "Nome"=>"Nome4",
    "Cognome"=>"Cognome4",
    "Data di nascita"=>"15/04/1984",
    "Luogo di nascita"=>"Torino",
    "Codice fiscale"=>"NMRDEF01G23H566F",
],
[
    "Nome"=>"Nome5",
    "Cognome"=>"Cognome5",
    "Data di nascita"=>"07/06/1985",
    "Luogo di nascita"=>"Brindisi",
    "Codice fiscale"=>"BCEDRF55S23H445M",
],
[
    "Nome"=>"Nome6",
    "Cognome"=>"Venezia",
    "Data di nascita"=>"01/07/1986",
    "Luogo di nascita"=>"Venezia",
    "Codice fiscale"=>"RVSRTR87G23S725C",
],
[
    "Nome"=>"Nome7",
    "Cognome"=>"Cognome7",
    "Data di nascita"=>"01/08/1987",
    "Luogo di nascita"=>"Trapani",
    "Codice fiscale"=>"LNSBTT01G62M112I",
],
[
    "Nome"=>"Nome8",
    "Cognome"=>"Cognome8",
    "Data di nascita"=>"01/05/1988",
    "Luogo di nascita"=>"Sassari",
    "Codice fiscale"=>"BRCNDR01S21I783K",
],
[
    "Nome"=>"Nome9",
    "Cognome"=>"Cognome9",
    "Data di nascita"=>"14/09/1989",
    "Luogo di nascita"=>"Cosenza",
    "Codice fiscale"=>"MRTFLP15V26H189R",
],
[
    "Nome"=>"Nome10",
    "Cognome"=>"Cognome10",
    "Data di nascita"=>"26/11/1990",
    "Luogo di nascita"=>"Napoli",
    "Codice fiscale"=>"PLMELN24J23Y641O",
]];

require_once 'myUtils/show_vars.php';

echo "<h3>array</h3>".show_var( $array )."<br />";  // visualizza struttura dell'array

echo CreaTabella($array);

die;

function CreaTabella($array)
{
    $tabella    = "<style>"
        . "th { text-align: center; vertical-align: middle; }"
        . "td { text-align: center; vertical-align: middle; }"
        . "</style>"

        . "<table border='1' align='center' cellspacing='0' cellpadding='25'>"
        . "<thead>"

        . "<tr>"
        . "<th colspan=6><h3 align='center'><b>SCHEDA ANAGRAFICA</b></h3></th>"
        . "</tr>"

        . "<tr>"
        . "<th>ID</th>"
        . "<th>Nome</th>"
        . "<th>Cognome</th>"
        . "<th>Data di nascita</th>"
        . "<th>Luogo di nascita</th>"
        . "<th>Codice fiscale</th>"
        . "</tr>"

        . "</thead>"
        . "<tbody>";

    foreach($array as $ID => $persona)
    {
        $row    = "<tr>"
        . "<td>"    . $ID                ."</td>"
        . "<td>"    . $persona["Nome"]        ."</td>"
        . "<td>"    . $persona["Cognome"]        ."</td>"
        . "<td>"    . $persona["Data di nascita"]    ."</td>"
        . "<td>"    . $persona["Luogo di nascita"]    ."</td>"
        . "<td>"    . $persona["Codice fiscale"]    ."</td>"
        . "</tr>";

        $tabella .= $row;
    }
    $tabella .= "</tbody>";
    $tabella .= "</table>";
    return $tabella;
}
?>

risultato,

1641897867329.png



qui trovi "sow_vars"
 
  • Like
Reactions: antoooo

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao,
ecco il codice; è sufficentemente commentato ma per qualsi dubbio......... a 'esposizione :) :p :)

PHP:
<?php
//dichiaro l'array bidimensionale ARRAY
$array=[
           ["Nome"=>"Nome1","Cognome"=>"Cognome1","Data di nascita"=>"01/01/1981",
            "Luogo di nascita"=>"Roma","Codice fiscale"=>"ABCDEF01G23H445I"],
            
           ["Nome"=>"Nome2","Cognome"=>"Cognome2","Data di nascita"=>"21/02/1982",
            "Luogo di nascita"=>"Pisa","Codice fiscale"=>"LMNOPQ67R89S012T"],
            
           ["Nome"=>"Nome3","Cognome"=>"Cognome3","Data di nascita"=>"11/03/1983",
            "Luogo di nascita"=>"Matera","Codice fiscale"=>"DEFABC34G23H445H"],
            
           ["Nome"=>"Nome4","Cognome"=>"Cognome4","Data di nascita"=>"15/04/1984",
            "Luogo di nascita"=>"Torino","Codice fiscale"=>"NMRDEF01G23H566F"],
            
            ["Nome"=>"Nome5","Cognome"=>"Cognome5","Data di nascita"=>"07/06/1985",
             "Luogo di nascita"=>"Brindisi","Codice fiscale"=>"BCEDRF55S23H445M"],
            
            ["Nome"=>"Nome6","Cognome"=>"Cognome6","Data di nascita"=>"01/07/1986",
             "Luogo di nascita"=>"Venezia","Codice fiscale"=>"RVSRTR87G23S725C"],
            
            ["Nome"=>"Nome7","Cognome"=>"Cognome7","Data di nascita"=>"01/08/1987",
             "Luogo di nascita"=>"Trapani","Codice fiscale"=>"LNSBTT01G62M112I"],
            
            ["Nome"=>"Nome8","Cognome"=>"Cognome8","Data di nascita"=>"01/05/1988",
             "Luogo di nascita"=>"Sassari","Codice fiscale"=>"BRCNDR01S21I783K"],
            
            ["Nome"=>"Nome9","Cognome"=>"Cognome9","Data di nascita"=>"14/09/1989",
             "Luogo di nascita"=>"Cosenza","Codice fiscale"=>"MRTFLP15V26H189R"],
            
            ["Nome"=>"Nome10","Cognome"=>"Cognome10","Data di nascita"=>"26/11/1990",
             "Luogo di nascita"=>"Napoli","Codice fiscale"=>"PLMELN24J23Y641O"],
       ];
//creo la tabella con le intestazioni TH
echo '<table border="1" width="800" cellspacing="0">';
echo '    <tr>';
echo '        <th height="40">Nome</th>';
echo '        <th>Cognome</th>';
echo '        <th>Data di nascita</th>';
echo '        <th>Luogo di nascita</th>';
echo '        <th>Codice fiscale</th>';
echo '    </tr>';
//creo il ciclo for
for ($ind=0;$ind<10;$ind++) {
     echo '    <tr>';
     $record=stampanomi($array,$ind);   //richiamo la funz. stampanomi, a cui passo
                                        //$array e il valore di $ind e ne memorizzo il risultato
                                        // nella variabilffe d'appoggio $record

     echo $record;    //quindi stampo il risultato
     echo '    </tr>';
}
echo '</table>';

//definisco la funzione STAMPANOMI
function stampanomi($nomi,$i) {
    //costruisco la variabile $record (occhio al punto)
    $record='<td height="28"><center>'.$nomi[$i]['Nome'].'</center></td>';
    $record.='<td><center>'.$nomi[$i]['Cognome'].'</center></td>';
    $record.='<td><center>'.$nomi[$i]['Data di nascita'].'</center></td>';
    $record.='<td><center>'.$nomi[$i]['Luogo di nascita'].'</center></td>';
    $record.='<td><center>'.$nomi[$i]['Codice fiscale'].'</center></td>';
    return $record;
}
?>

Un consiglio: ti conviene indentare meglio il codice; è solo una questone puramente estetica mas risulta più leggibile.



Zorro
 
  • Like
Reactions: antoooo

antoooo

Nuovo Utente
5 Gen 2022
11
0
1
Grazie mille, sono i miei primi script e sono ancora un pò imbranata :p
Inizio a capirci qualcosa in più.
Siete stati di grande aiuto, grzie ancora
 
Discussioni simili
Autore Titolo Forum Risposte Data
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
andreas88 Gestione Profilo OnlyFans Leggi, Normative e Fisco 0
A Creazione cookie e gestione accessi PHP 0
B form gestione input PHP 2
sbolde91 Consiglio gestione Hosting Hosting 2
E Gestione profilo utente tramite Form PHP 3
S cerco esperto gestione ecommerce Offerte e Richieste di Lavoro e/o Collaborazione 0
P Curiosità su grandi aziende e la gestione delle grafiche. Discussioni Varie 1
M Consiglio sulla gestione di Gerarchie Database 0
A attributo "min" per input gestione date PHP 8
L Gestione DB ASP.NET 2
L Consiglio SEO gestione dominio + free hosting SEO e Posizionamento 6
avalon95 [WordPress] Gestione database annunci WordPress 0
G [PHP] gestione mouse PHP 2
B Gestione Prenotazioni con Mysql Database 21
D CREAZIONE E GESTIONE SITO E-COMMERCE Offerte e Richieste di Lavoro e/o Collaborazione 2
P (Cerco) Collaboratori per gestione social media Offerte e Richieste di Lavoro e/o Collaborazione 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
brasoft2019 [PHP] Sistema di gestione presenze PHP 29
W Preventivo gestione ecommerce Discussioni Varie 1
E Cerco partner / socio per gestione sito di annunci incontri Offerte e Richieste di Lavoro e/o Collaborazione 0
K e-commerce per distribuzione e dettaglio con gestione magazzino E-Commerce 0
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
Jonn [WordPress] Gestione categorie e tags per sito eventi WordPress 2
felino Gestione dispositivi e Altri dispositivi Windows e Software 4
D Software per gestione account facebook? Social Media Marketing 1
D Cero Software Facebook gestione account Vendere e Acquistare pubblicita' online 0
M Offro servizio Incremento Follower e Gestione Profili Istagram Offerte e Richieste di Lavoro e/o Collaborazione 0
J [offro] hosting / installazione certificati ssl / gestione server Offerte e Richieste di Lavoro e/o Collaborazione 0
F [PHP] gestione meteo manuale per un gioco di ruolo PHP 1
bianca_dimulescu Gestione tabella e MySQL PHP 4
T Servizio gestione pagina Instagram Offerte e Richieste di Lavoro e/o Collaborazione 0
G Gestione e/o vendita hosting come libero professionista Leggi, Normative e Fisco 4
MatMac System [PHP] Gestione dinamica select-option PHP 3
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
S [PHP] Gestione coupon PHP 3
lxella [PHP] Aree riservate e gestione utenti PHP 1
D Gestione punteggi php PHP 1
B Cercasi socio per gestione sito web Offerte e Richieste di Lavoro e/o Collaborazione 0
G gestione pagina facebook Social Media Marketing 0
Cavalinho08 [Offro gestione pagine instagram, prezzo bassissimo] Annunci servizi di Social Media Marketing 3
D [VENDO] Gestione account instagram Annunci servizi di Social Media Marketing 2
N [VENDO] Gestione pagine FB Annunci servizi di Social Media Marketing 2
ientii [PHP] Gestione CheckBox PHP 1
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
booklisa Compressione immagini e gestione media CMS (Content Management System) 1
T gestione livelli sessioni php msqli PHP 1
giuseppe_123 [PHP] Gestione corsi PHP 1
A [WordPress] Plugin gestione ordine prodotto. WordPress 0
V [PHP] [OOP]Gestione errori connessione db PHP 5

Discussioni simili