foreach глючит или я? (про зенд оптимайзер не писать:)

Rynor

stay hungry
foreach глючит или я? (про зенд оптимайзер не писать:)

тестовая машина, php 4.3.9, винда

задаю глобальный массив аббревиатур дней недели
PHP:
$m["week"][] = "пн";
//...
$m["week"][] = "вс";

function calendar () {
global $m;
foreach ($m["week"] as $v) {echo $v;}
}
натыкаюсь на ошибку
Warning: Cannot use a scalar value as an array in calendar.phpl on line 49

Никто с таким не сталкивался?
Если foreach запустить в области глобальной видимости, то все ок...

Заранее благодарю за помощь.
 

fixxxer

К.О.
Партнер клуба
после global $m
PHP:
var_dump($m)
и смотри что там такое =)
 

tony2001

TeaM PHPClub
PHP:
$m["week"][] = "пн"; 
$m["week"][] = "вс"; 
function calendar () { 
  global $m; 
  foreach ($m["week"] as $v) {echo $v;} 
}
calendar();
: пнвс

и в чем проблема?
 

Rynor

stay hungry
2fixxxer:
["week"]=>
array(7) {
[0]=>
string(2) "пн"
[1]=>
string(2) "вт"
[2]=>
string(2) "ср"
[3]=>
string(2) "чт"
[4]=>
string(2) "пт"
[5]=>
string(2) "сб"
[6]=>
string(2) "вс"
}

2tony2001:
в чем проблема - первый пост.

или опять все на апач2 свалить? :)
 

SiMM

Новичок
4.3.9/WinXP (Apache 1.3.x)
Не воспроизовдится, что и следовало ожидать - всё как у tony2001.
 

Rynor

stay hungry
ну че я дурак в форум пургу гнать
код точно такой
ладно, вечером в линуксе на первом апаче тестану... напишу

2tony2001:
винде в бубен уже досталось :)
 

Фанат

oncle terrible
Команда форума
Rynor
Можешь на второй апач не сваливать.
Это исключительно твоё личное дело.
Как и целиком вся проблема. Если ты ещё не догадался
 

Rynor

stay hungry
проверил, апач2 ни при чем, зря я о нем вспомнил
глючу, похоже я, бессоная ночь дает себя знать
пошел копать глубже
 

Rynor

stay hungry
я ж в сабже предупредил :)
ничего нет
чистые апач мускул пхп
ни шаблонов ни pear ничего
 

Rynor

stay hungry
если "ничего" это значит - "ничего" :)
мдя, это интересно
ладно, вечером напишу, сейчас не могу под линуксом проверить
спасибо за помощь
 

Макс

Старожил PHPClub
а если foreach другим циклом заменить ? Работает ?
А из php-cl такие же результаты ?
 

Rynor

stay hungry
в общем, поковырявшись, и проверив это дело и под а1 и под linux и на 5.0.3, пришел к выводу, что :) глючит массив $m (в приведенном примере он маленький, на самом деле - большой и разный). Если переименовать $m на $main и т.д., то все работает... foreach тут просто под руку попал... странно все это... где-то buffer overflow :)

2Макс:
for() не работает, но ошибку не выдает, то есть работает как с пустым массивом, хотя vardumb считает иначе

всем спасибо за помощь!

-~{}~ 26.12.04 18:09:

мде... как всегда, больше всего времени уходит на исправление крошечных идиотских ошибок из-за невнимательности... простите идиота, я перетер $m за две строки до использования - переписывал старую функцию, где $m у меня еще не была в звании самого главного массива :)
 
Сверху