Modificare gli elementi di un array 2D
Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 29 di 68.
Una volta che sai accedere agli elementi di un array 2D, il passo logico successivo è imparare a modificarne i valori. Per modificare gli elementi di un array 2D si usa la stessa sintassi a doppio indice usata per accedervi, ma con un operatore di assegnazione per impostare un nuovo valore.
Ecco come modificare un elemento specifico in un array bidimensionale:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// Imposta la cella centrale su 'X'
$gameBoard[1][1] = "X";
// Imposta la cella nell'angolo in alto a sinistra su 'O'
$gameBoard[0][0] = "O";
?>La sintassi $gameBoard[1][1] = "X" indica la riga 1, colonna 1 (il centro di una griglia 3x3) e assegna il valore "X" a quella posizione. Modifica direttamente l'array originale, sostituendo qualsiasi valore fosse presente prima.
Questa tecnica di modifica è essenziale per aggiornare gli stati del gioco, modificare i dati nelle tabelle o in qualsiasi scenario in cui sia necessario alterare posizioni specifiche all'interno della struttura dati simile a una griglia. La possibilità di individuare e aggiornare posizioni esatte rende gli array 2D perfetti per rappresentare informazioni dinamiche e modificabili organizzate in righe e colonne.
Sfida
FacileRiceverai quattro input: un array 2D che rappresenta una mappa dei posti in formato JSON, un indice di riga, un indice di colonna e il nome di un nuovo passeggero. Leggi tutti e quattro gli input, converti la stringa JSON in un array 2D, modifica l'elemento nella riga e nella colonna specificate assegnandogli il nome del nuovo passeggero e stampa l'array 2D aggiornato usando print_r().
L'array 2D rappresenta una mappa dei posti in cui ogni elemento contiene il nome di un passeggero o una stringa vuota per i posti liberi.
Formato dell'input:
- Prima riga: un array JSON che rappresenta la mappa dei posti (esempio:
[["Alice","Bob",""],["","Charlie","Diana"],["","",""]]) - Seconda riga: indice di riga (intero)
- Terza riga: indice di colonna (intero)
- Quarta riga: nome del nuovo passeggero (stringa)
Output previsto: l'array 2D modificato, visualizzato usando print_r()
Provalo tu
<?php
// Leggi gli input
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));
// Converti JSON in un array 2D
$seating_chart = (array)json_decode($json_input, true);
// TODO: Scrivi il tuo codice qui sotto per modificare la disposizione dei posti
// Stampa l'array modificato
print_r($seating_chart);
?>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