WordPress: introduzione agli array PHP

I fondamenti degli array PHP spiegati nel contesto di WordPress.

WordPress di Gabriele Romanato

In questo articolo affronteremo la gestione base degli array PHP in WordPress illustrandone alcuni casi d'uso concreti.

Esistono due tipi di array che potete utilizzare: lineari ed associativi. La differenza sostanziale sta nel fatto che gli array associativi prevedono l'uso di un'etichetta (chiave) per le voci.


$linear = array( 'a', 'b', 'c' );

$assoc = array(
	'foo' => 'a',
	'bar' => 'b',
	'baz' => 'c'
);

Ecco come si accede ai valori di ciascun tipo di array:


$linear_value = $linear[1]; // 'b'
$assoc_value = $assoc['bar']; // 'b'

L'indice degli array parte sempre da 0, come in JavaScript. Per sapere se un array contiene elementi si utilizza la funzione count():


$linear_size = count( $linear ); // 3
$assoc_size = count( $assoc ); // 3

Per eseguire un loop sugli array solitamente si utilizzano i costrutti for e foreach. Ecco il primo:


for( $i = 0; $i < count( $linear ); $i++ ) {
	echo $linear[$i] . ' ';
}
// 'a' 'b' 'c'

Il secondo costrutto è più usato sugli array associativi:


foreach( $assoc as $key => $value ) {
	echo $key . ':' . $value . ' ';
}

// foo:'a' bar: 'b' baz: 'c'

Oppure se vi interessano solo i valori e non le chiavi:


foreach( $assoc as $key  ) {
	echo $key['foo'] . ' ' . $key['bar'] . $key['baz'];
}

// 'a' 'b' 'c'

Tenete sempre presente che PHP restituisce un errore (Invalid argument) se ciò che viene passato ai due costrutti non è un array. Potete effettuare una verifica con la funzione is_array() il cui valore booleano indica se l'argomento passato è un array:


$input = $_POST['input'];
$json_arr = json_decode( $input, true );

if( is_array( $json_arr ) ) {
	// loop
}

Abbiamo un input JSON e proviamo a convertirlo in un array. Prima di effettuare un loop dobbiamo verificare che la funzione json_decode() abbia effettivamente restituito un array.