WordPress: introduzione agli array PHP

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.

Torna su