Stiati ca? Nu poti defini constante array in PHP!

December 12th, 2008

Ciudat, interesant totusi ca in PHP se folosesc foarte des array-urile.

Oricum ideea e ca nu poti defini constante in PHP, adica asa:

1
2
3
// it will not work like this
define('MY_ARRAY', array ('one', 'two', 'three'));
echo MY_ARRAY[0]; // undefined index 0

Dar sunt vreo doua variante prin care poti face asta. Una ar fi sa salvezi de exemplu un string in constanta:

1
2
3
4
define ('MY_ARRAY', 'one,two,three');
$my_local_array = explode(',',MY_ARRAY);
echo $my_local_array[0]; // it will work
// result: one

sau poti sa serializezi obiectul (cea mai recomandata), astfel poti sa salvezi array-uri sau orice alte obiecte complexe:

1
2
3
4
5
6
7
8
9
// va recomand aceasta varianta, e cea mai simpla si are cea mai larga aplicabilitate
 
$arr = array ("one" => 1, "two" => 2, "three" => 3); // variabila de definit
 
define ('MY_ARRAY',serialize($arr)); // salvam obiectul serializat
$my_local_array = unserialize(MY_ARRAY); // il deserializam pentru a-l putea folosi
 
echo $my_local_array['one']; // and there you go :)
// result: 1