define('DEFAULT_ROLES', array('guy', 'development team'));
Apparently, constants can't hold arrays. What is the best way to get around this?
define('DEFAULT_ROLES', 'guy|development team'); //... $default = explode('|', DEFAULT_ROLES);
This seems like unnecessary effort.
NOTE: while this is the accepted answer, it's worth noting that in PHP 5.6+ you can have const arrays - see Andrea Faulds' answer below.
You can also serialize your array and then put it into the constant:
# define constant, serialize array define ("FRUITS", serialize (array ("apple", "cherry", "banana"))); # use it $my_fruits = unserialize (FRUITS);
Since PHP 5.6, you can declare an array constant with
<?php const DEFAULT_ROLES = array('guy', 'development team');
The short syntax works too, as you'd expect:
<?php const DEFAULT_ROLES = ['guy', 'development team'];
If you have PHP 7, you can finally use
define(), just as you had first tried:
<?php define('DEFAULT_ROLES', array('guy', 'development team'));