Hello
I'm trying to create a public static array within a class.(PHP5).
First - the following fails:
class yadayada { public static $tester[0]="something"; public static $tester[1]="something 1";
of course this doesn't (ok so its obvious to me)
first of its generally not good form to initialize a var in the class definition but rather do it with a function. often that would be the constructor - but that won't do it this time.
here is how I would do it (given the facts you provided):
class Yadda
{
private static $myArr; public static function getArr()
{
if (!isset(self::$myArr)) {
self::setupArr();
} return self::$myArr;
} private static function setupArr()
{
self::$myArr = array(
0 => 'something',
1 => 'something1',
2 => 'something2',
3 => 'something3',
4 => 'something4',
5 => 'something5',
6 => 'something6',
7 => 'something7', // notice the trailing comma!
);
}
}print_r( Yadda::getArr() );
btw: I did not syntax check this code.
Second - However the following works:
class yadayada { public static $tester = array (0 => "something", 1 >="something 1");
you are not forced to write the whole array on 1 line :-) also if you are using numeric keys there is no need to write them...:
$tester = array ("something", "something 1");with or with out the keys its the same (assuming you keys start at zero and are always consecutive)
My question is this: I have an array that has about some 150 different values and using the second example would get very very messy, is there another method of doing this ? The first example(which fails) is the cleanest, is there anything I can do ?
by clean do you mean readable per chance? how readable is the class I just defined according to you?
Thank you
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

