Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с ассоциативным массивом
Форумы портала PHP.SU » » Если скрипт не работает » Проблема с ассоциативным массивом

Страниц (1): [1]
 

1. Aarrgghh - 04 Ноября, 2011 - 18:52:22 - перейти к сообщению
Есть функция которая выводит меню у меня на сайте. В нее передается значение ассоциативный массив где ключами являются ссылки, а значения Названиями этих ссылок.. Когда вызываешь эту функцию то почему то url ссылок выглядит что то наподобие этого:
mysite/1/forum

Не пойму откуда берется эта цифра 1?

Приведу код функции:
PHP:
скопировать код в буфер обмена
  1.  
  2. public function SetMenuSite($menu = "") {
  3.             $host = $this->GetNameHost(true)."/";
  4.             $links = "";
  5.             if (empty($menu)) {
  6.                 $menu = array(
  7.                 $host=>"Главная страница",
  8.                 $host."forum"=>"Форум",
  9.                 $host."downloads"=>"Загрузки",
  10.                 $host."books"=>"Учебники",
  11.                 $host."sources"=>"Исходники",
  12.                 $host."examples"=>"Примеры",
  13.                 $host."articles"=>"Статьи",
  14.                 $host."guest"=>"Гостевая книга",
  15.                 $host."admin"=>"Администрация");
  16.             }
  17.             foreach ($menu as $key => $value) {
  18.                 $links .= "<li><a href=\"$key\">$value</a></li>\n";
  19.             }
  20.             echo "<h4 class=\"title-03\">Меню сайта</h4>\n<div class=\"in\">\n<ul id=\"subnav\">\n$links</ul>\n</div>\n";
  21.         }
  22.  



Кто подскажет решение? Заранее спасибо
2. LIME - 04 Ноября, 2011 - 19:00:44 - перейти к сообщению
$host надо вывести
3. Aarrgghh - 04 Ноября, 2011 - 19:06:57 - перейти к сообщению
LIME пишет:
$host надо вывести

Вот GetNameHost
PHP:
скопировать код в буфер обмена
  1. public function GetNameHost($bool) {
  2.             $host = "";
  3.             ($bool == true) ? $host = "http://".$_SERVER[HTTP_HOST] : $host = $_SERVER[HTTP_HOST];
  4.             return $bool;
  5.         }

(Добавление)
LIME пишет:
$host надо вывести


Все разобрался...Я возвращал не ту переменную
4. LIME - 04 Ноября, 2011 - 19:10:48 - перейти к сообщению
Aarrgghh вот вот ))
return $bool;
разве не должно быть return $host;
(Добавление)
а в $bool передается true который интерпретируется как 1 в строке

 

Powered by ExBB FM 1.0 RC1