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]   

> Без описания
FrozenLord
Отправлено: 09 Сентября, 2010 - 05:47:21
Post Id


Новичок


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


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




Доброе утро (или ночь)


Требуется небольшая помощь.

В общем есть:
некая функция
некий массив

Требуется передать значение из массива в функцию. Но вот как это сделать без global (ибо не удобно)

Искал в нете, нашёл

Как написано она должна объявить массив, что он супер глобальный и тогда проблема отпадёт. Но не как не разберусь как через это его объявить.
Либо возможно кто подскажет другой способ.
 
 Top
Uchkuma
Отправлено: 09 Сентября, 2010 - 18:58:40
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




FrozenLord, глобальный массив без global? Это еще зачем? И чем неудобно?
FrozenLord пишет:
Требуется передать значение из массива в функцию.
А в качестве параметра нельзя передать его в функцию?
 
 Top
ALEN
Отправлено: 09 Сентября, 2010 - 19:07:12
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




$x = $this->ArrayId[1];
Вы понимаете где это используется?
(Добавление)
function ($array){

}
 
 Top
FrozenLord
Отправлено: 09 Сентября, 2010 - 20:34:47
Post Id


Новичок


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


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




В том и дело что функции много. А массив сам по себе не маленький. Так что не хотелось бы его в качестве переменной передавать.


Вот и ищу способ сделать его супер глобальным.



ALEN, если можно пример. Ибо не ясно.
 
 Top
Мелкий Супермодератор
Отправлено: 09 Сентября, 2010 - 20:55:46
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




FrozenLord пишет:
А массив сам по себе не маленький. Так что не хотелось бы его в качестве переменной передавать.

А в чём проблема-то? Передайте по ссылке.


-----
PostgreSQL DBA
 
 Top
ALEN
Отправлено: 09 Сентября, 2010 - 21:00:46
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




в виде параметра передавайте не переменными, а целым массивом в функцию:
$array=array();
function($array);
(Добавление)
а вообще классы удобней
 
 Top
FrozenLord
Отправлено: 09 Сентября, 2010 - 21:15:28
Post Id


Новичок


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


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




Мелкий, Знать бы как Хм

ALEN, и всё равно не ясно(
 
 Top
ALEN
Отправлено: 09 Сентября, 2010 - 21:35:55
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




PHP:
скопировать код в буфер обмена
  1. function f1($a1,$a2){
  2. echo $a2;
  3. var_dump($a1);
  4. }
  5.  
  6. $array=array(
  7. "1"=>"a",
  8. "2"=>"b"
  9. );
  10.  
  11. f1($array,"Привет я функция f1 <br/><br/><br/>");
 
 Top
Мелкий Супермодератор
Отправлено: 09 Сентября, 2010 - 21:39:59
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




FrozenLord пишет:
Мелкий, Знать бы как

А гугл на что?
http://php.su/functions/custom/?2
Цитата:
Если вы хотите, что бы аргумент всегда передавался по ссылке, вы должны указать амперсанд (&) перед именем аргумента в описании функции


-----
PostgreSQL DBA
 
 Top
ALEN
Отправлено: 09 Сентября, 2010 - 21:40:49
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




Людским языком: ключи при передачи остаются не измененными!
(Добавление)
Мелкий
Человек считает, что можно только переменную передавать в параметрах массива
 
 Top
FrozenLord
Отправлено: 10 Сентября, 2010 - 04:15:19
Post Id


Новичок


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


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




Та это то ясно. Но можно ли обойтись без




Чтобы скажем было

CODE (htmlphp):
скопировать код в буфер обмена
  1. function (){
  2. echo $a;
  3. }
 
 Top
ALEN
Отправлено: 10 Сентября, 2010 - 08:45:32
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




FrozenLord
только global или используйте классы
 
 Top
Ch_chov
Отправлено: 10 Сентября, 2010 - 10:26:19
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Когда будете писать что то большое и сложное, то сами поймете почему не стоит использовать глобальные переменные.

А пока пишите как вам удобно )
PHP:
скопировать код в буфер обмена
  1. function () {
  2.   echo $GLOBALS['a'];
  3. }

(Отредактировано автором: 10 Сентября, 2010 - 10:26:56)

 
 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