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 » PHP » Напишите за меня, пожалуйста » Супер глобальный массив?

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

1. FrozenLord - 09 Сентября, 2010 - 05:47:21 - перейти к сообщению
Доброе утро (или ночь)


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

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

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

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

Как написано она должна объявить массив, что он супер глобальный и тогда проблема отпадёт. Но не как не разберусь как через это его объявить.
Либо возможно кто подскажет другой способ.
2. Uchkuma - 09 Сентября, 2010 - 18:58:40 - перейти к сообщению
FrozenLord, глобальный массив без global? Это еще зачем? И чем неудобно?
FrozenLord пишет:
Требуется передать значение из массива в функцию.
А в качестве параметра нельзя передать его в функцию?
3. ALEN - 09 Сентября, 2010 - 19:07:12 - перейти к сообщению
$x = $this->ArrayId[1];
Вы понимаете где это используется?
(Добавление)
function ($array){

}
4. FrozenLord - 09 Сентября, 2010 - 20:34:47 - перейти к сообщению
В том и дело что функции много. А массив сам по себе не маленький. Так что не хотелось бы его в качестве переменной передавать.


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



ALEN, если можно пример. Ибо не ясно.
5. Мелкий - 09 Сентября, 2010 - 20:55:46 - перейти к сообщению
FrozenLord пишет:
А массив сам по себе не маленький. Так что не хотелось бы его в качестве переменной передавать.

А в чём проблема-то? Передайте по ссылке.
6. ALEN - 09 Сентября, 2010 - 21:00:46 - перейти к сообщению
в виде параметра передавайте не переменными, а целым массивом в функцию:
$array=array();
function($array);
(Добавление)
а вообще классы удобней
7. FrozenLord - 09 Сентября, 2010 - 21:15:28 - перейти к сообщению
Мелкий, Знать бы как Хм

ALEN, и всё равно не ясно(
8. ALEN - 09 Сентября, 2010 - 21:35:55 - перейти к сообщению
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/>");
9. Мелкий - 09 Сентября, 2010 - 21:39:59 - перейти к сообщению
FrozenLord пишет:
Мелкий, Знать бы как

А гугл на что?
http://php.su/functions/custom/?2
Цитата:
Если вы хотите, что бы аргумент всегда передавался по ссылке, вы должны указать амперсанд (&) перед именем аргумента в описании функции
10. ALEN - 09 Сентября, 2010 - 21:40:49 - перейти к сообщению
Людским языком: ключи при передачи остаются не измененными!
(Добавление)
Мелкий
Человек считает, что можно только переменную передавать в параметрах массива
11. FrozenLord - 10 Сентября, 2010 - 04:15:19 - перейти к сообщению
Та это то ясно. Но можно ли обойтись без




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

CODE (htmlphp):
скопировать код в буфер обмена
  1. function (){
  2. echo $a;
  3. }
12. ALEN - 10 Сентября, 2010 - 08:45:32 - перейти к сообщению
FrozenLord
только global или используйте классы
13. Ch_chov - 10 Сентября, 2010 - 10:26:19 - перейти к сообщению
Когда будете писать что то большое и сложное, то сами поймете почему не стоит использовать глобальные переменные.

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

 

Powered by ExBB FM 1.0 RC1