- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
$arrNotViewDeathWindow = array(
'/reklama/press/index.php' => '1',
'/reklama/press/' => '1',
'/reklama/product/index.php' => '1',
'/reklama/product/' => '1',
'/about/poll/' => '1',
'/about/poll/index.php' => '1',
'/about/poll/result.php' => '1',
'/reklama/product/orders_list.php' => '1',
);
if(!$arrNotViewDeathWindow[$_SERVER['SCRIPT_NAME']]) ...
Можно, как вариант использовать
Но особой разницы не вижу.
но думаю, можно страницы проверять не по url, а то и вообще в сами страницы и вставить...
Нашёл --> убрал, например.
А вот array_key_exists() или isset() работает мгновенно.
К тому же я считаю, что автор этого кода поступил абсолютно правильно, т.к. есть возможность в значения массива закинуть какие нибудь параметры. Единственное я бы написал:
if(empty($arrNotViewDeathWindow[$_SERVER['SCRIPT_NAME']])) ...
А реализованы они, если верить документации, через хэш-таблицу.
> А я не знаю - а что он с ключами делает?
PHP arrays can contain integer and string keys at the same time as PHP does not distinguish between indexed and associative arrays. Причем строки, которые можно распарсить как десятичные числа, работают точно так же как и сами числа: a[2] == a["2"].
Кроме того, если ordered, то нужно понимать, что есть пеня за это, либо доступ к эелементам не за O(1), как, естественно, хотелось бы в хеш-мапе. Опять же, ordered - в порядке добавления, или в порядке сортировки (какой-нибудь, но если строки, то, наверное, лексикографической). Если в порядке сортировки - то, опять же, за это наверняка платят чем-то, либо при добавлении, либо при чтении.
неужели распечатает в обратном порядке? Или он числа использует как хеши? Или как?
Хотя если с другой стороны посмотреть - многие пхпшники и с одним массивом разобраться не могут, куда им еще дополнительные контейнеры...
Время? ;)
а вообще эти карто-массивы в пхп дерьмовые.
например, числовые ключи воспринимаются как индексы, поэтому можно получить нежданчик.