[PHP] Chiedo un aiuto, Array multidimensionale.

Clau4786

Nuovo Utente
28 Set 2018
6
0
1
Ciao a tutti. Mi sono appena registrato per chiedervi un piccolo aiuto. 9-10 anni fa avevo imparato il linguaggio PHP, per uso personale, divertimento. Poi basta :)
Vorrei realizzare un piccolo script ora, e non ho piu idea di come si fa, anche se ho consultato il manuale e dei forum... non ne vengo fuori, e non ho nemmeno tantissimo tempo per provarci...

Vi spiego. Io conoscevo questo per selezionare dei dati dal database: "SELECT * FROM db WHERE pezzo=b"
Vorrei fare una cosa del genere ma da un array multidimensionale.
PHP:
<?php
$mio_pezzo = "b";

$pezzo = array(
    array("a",865,370,610,130),
    array("b",840,370,570,140),
    array("c",860,360,595,135),
    array("d",890,390,580,175),
    array("e",850,375,545,170),
    array("f",870,370,560,175),
    array("g",970,445,575,255)
);

$numero_pezzi = count($pezzo);

for ($r = 0; $r < $numero_pezzi; $r++) {
        if ($mio_pezzo == $pezzo[$r][0]) {
              $e = "ESISTE";
        } else {
              $e = "NON ESISTE";
        }
}
echo $e;
?>
Cosi è sbagliato! Io vorrei gestirmi solo la riga dove il pezzo è presente! Se il pezzo è : a vorrei visualizzare i dati della riga "a" (865...370...) se il pezzo è "d" vorrei i dati di quell'Array, se il pezzo non è presente, allora NON ESISTE.
Spero che capite cosa intendo :-(
Buona serata a tutti
Claudio
 
Ultima modifica di un moderatore:

Rikk73

Utente Attivo
7 Apr 2015
133
6
18
Arezzo
ti basta la sola if dentro al ciclo for, mettendo anche l'else la variabile la valorizzi sempre e comunque ad ogni passaggio, quindi ti funzionerà solo se quello che cerchi è l'ultimo elemento della lista.
Prova così
PHP:
for ($r = 0; $r < $numero_pezzi; $r++) {
  if ($mio_pezzo == $pezzo[$r][0]) {
    $e = $pezzo[$r];
    break; // con questo esci dal for quando lo trovi
  }
}
var_dump($e);
?>
 

marino51

Utente Attivo
28 Feb 2013
2.652
134
63
Lombardia
potresti anche organizzare meglio l'array, risparmi codice …
PHP:
<?php
$mio_pezzo = "b";

$pezzo = array
(
    'a' => array(865,370,610,130),
    'b' => array(840,370,570,140),
    'c' => array(860,360,595,135),
    'd' => array(890,390,580,175),
    'e' => array(850,375,545,170),
    'f' => array(870,370,560,175),
    'g' => array(970,445,575,255),
);

if ( isset($pezzo[$mio_pezzo]) )
{
    echo "ESISTE<br />";
    foreach($pezzo[$mio_pezzo] as $value)
        echo "--> " . $value ."<br />";
}
else { echo "NON ESISTE<br />"; }
?>
upload_2018-9-28_19-59-10.png
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
3.984
295
83
@Clau4786
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro