Array associativi 2D
Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 31 di 68.
Mentre hai lavorato con gli array 2D usando indici numerici, puoi anche creare dati più strutturati utilizzando array associativi sia al livello principale sia all'interno degli array annidati. Questo approccio usa chiavi stringa invece di numeri, rendendo i tuoi dati molto più descrittivi e facili da comprendere.
Ecco come creare un array associativo 2D in cui ogni elemento ha chiavi stringa significative:
<?php
$students = [
"alice" => [
"name" => "Alice Johnson",
"grade" => 92
],
"bob" => [
"name" => "Bob Smith",
"grade" => 87
],
"charlie" => [
"name" => "Charlie Brown",
"grade" => 95
]
];
?>Puoi anche combinare gli approcci, usando indici numerici per l'array principale e mantenendo array associativi al suo interno:
<?php
$users = [
["username" => "john_doe", "email" => "john@example.com"],
["username" => "jane_smith", "email" => "jane@example.com"]
];
?>Questa struttura è incredibilmente potente per organizzare dati complessi come profili utente, cataloghi di prodotti o qualsiasi scenario in cui sia necessario memorizzare più proprietà correlate per ciascun elemento. Le chiavi stringa rendono il codice autoesplicativo e molto più facile da mantenere rispetto a ricordare posizioni numeriche.
Sfida
FacileRiceverai un input: un array associativo bidimensionale che rappresenta un inventario di prodotti in formato JSON. Ogni prodotto ha un ID prodotto univoco come chiave e il valore è un array associativo contenente "name" e "price" del prodotto. Leggi l'input, converti la stringa JSON in un array associativo bidimensionale, scorri tutti i prodotti e stampa le informazioni di ciascun prodotto nel formato: ID: [product_id] - Name: [name] - Price: $[price]
Ogni prodotto deve essere stampato su una riga separata.
Formato dell'input: Una riga contenente un oggetto JSON che rappresenta l'inventario dei prodotti (esempio: {"P001":{"name":"Laptop","price":999.99},"P002":{"name":"Mouse","price":25.50},"P003":{"name":"Keyboard","price":75.00}})
Output previsto: Ogni prodotto stampato su una riga separata nel formato ID: [product_id] - Name: [name] - Price: $[price]
Provalo tu
<?php
// Leggi l'input JSON
$input = fgets(STDIN);
// Converti JSON in un array associativo
$inventory = (array)json_decode($input, true);
// TODO: Scrivi il codice qui sotto per scorrere l'inventario e stampare ogni prodotto
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Funzioni avanzate
Funzioni anonimeClosure e 'use'Funzioni frecciaFunzioni callbackUso di 'call_user_func'Funzioni variabiliPassaggio per riferimentoFunzioni ricorsiveRiepilogo: carrellata di funzioni4Array multidimensionali
Creare un array 2DAccedere agli elementi di un array 2DModificare gli elementi di un array 2DIterare con cicli annidatiArray associativi 2DRipasso: esercizio con una griglia semplice2Manipolazioni avanzate degli array
Aggiungere con 'array_push'Rimuovere con 'array_pop'Aggiungere con 'array_unshift'Rimuovere con 'array_shift'Unire array indicizzatiUnire array associativiEstrarre con 'array_slice'Valori con 'in_array'Chiavi con 'array_search'Riepilogo: esercizio playlist3Ordinare gli array
Ordina gli array indicizzati in ordine crescenteOrdina gli array indicizzati in ordine decrescenteOrdina gli array associativi per valoreOrdina gli array associativi per chiaveOrdinamento naturaleOrdinamento personalizzato con 'usort'Ripasso: ordinamento della classificaEsercitati da solo: Compilatore PHP online