2010-09-13 2 views
1

что, по вашему мнению, более стандартное/читаемым/эффективный код объявления массива:стандарт для чтения декларации/массив и использование

один способ:

$days = array(1=>'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); 

затем использовать: $days[$value]

или второго способа:

$days = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); 

затем использовать: $days[$value-1]

обновления: я не могу убедиться, что значения будут в [0-6], потому что я не предлагаю 3 пути.

+2

Я бы пошел с нулевым основанием (2-й), чтобы соответствовать непосредственно внутреннему представлению PHP (например, 'date ('w')'). Также обратите внимание на числовое представление ISO-8601 ('N'). – jensgram

+0

@jensgram: а что происходит, когда массив не имеет ничего общего с будними днями? ;) – fabrik

+0

@fabrik и откуда эти ключи массива? –

ответ

1

Определенно первый (когда ключи определены правильно).

Во втором случае вам нужно сделать минус (извлечение), это - это ненужный цикл процессора. делает ваш код менее читаемым и менее надежным.

Редактировать: Я надеюсь, что вы все ленивые программисты счастливы там.

+0

О Боже мой! Целый цикл процессора! Действительно катастрофа. –

+0

Один цикл, два цикла, три цикла и т. Д. – fabrik

+0

Да и Ахиллес никогда не настигнет Черепаха –

3

Как насчет 3-й способ:

$days = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); 

и доступ к нему, как:

$days[$value] 

путем обеспечения $value имеет значение между [0,6]

+0

Это применимо только тогда, когда мы придерживаемся этого примера. – fabrik

+1

+1 В соответствии с моим комментарием к вопросу. – jensgram

+0

i cant его пришло из db запроса, что не до меня –

2

смешной один:

$days = array('Zer','Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'); 

(мой друг однажды использовал название «Nulleary»)
, но серьезно, это зависит от того, откуда этот массив.
Для этого конкретного примера должно быть только date("D",$tstamp);

хотя вся проблема незначительна для меня.
Я часто используя только

$days = explode(" ",'Sun Mon Tue Wed Thu Fri Sat'); 

и найти его очень удобно.

+0

@stereofrog: Спасибо, это было смешно. Интересно, как здесь живут ленивые программисты. – fabrik

+0

@stereofrog кричит! ты прав. Собираюсь проверить мой сервер прямо сейчас - он должен сжечь такую ​​перегрузку! :) –

+0

@stereofrog: Ты совершенно прав. Извините за intermezzo. – fabrik

Смежные вопросы