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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с ассоциативным массивом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Aarrgghh
Отправлено: 04 Ноября, 2011 - 18:52:22
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Есть функция которая выводит меню у меня на сайте. В нее передается значение ассоциативный массив где ключами являются ссылки, а значения Названиями этих ссылок.. Когда вызываешь эту функцию то почему то 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.  



Кто подскажет решение? Заранее спасибо
 
 Top
LIME
Отправлено: 04 Ноября, 2011 - 19:00:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




$host надо вывести
 
 Top
Aarrgghh
Отправлено: 04 Ноября, 2011 - 19:06:57
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




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 надо вывести


Все разобрался...Я возвращал не ту переменную

(Отредактировано автором: 04 Ноября, 2011 - 19:07:49)

 
 Top
LIME
Отправлено: 04 Ноября, 2011 - 19:10:48
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Aarrgghh вот вот ))
return $bool;
разве не должно быть return $host;
(Добавление)
а в $bool передается true который интерпретируется как 1 в строке
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB