2016-04-13 4 views
0

У меня есть php-скрипт с приблизительно 50 глобальными переменными. У меня есть около 18 функций, где мне нужны глобальные переменные.использовать все глобальные переменные сразу в php-функции

В большинстве функций мне нужно почти 40 глобальных переменных. я включил их сейчас, как:

 function example1() { 
     global $1, $2, $3, ..... $40; 
     } 

     function example2() { 
     global $1, $2, $3, ..... $40; 
     } 

Есть ли более простой способ сделать это?

Например, включают все глобальные переменные одновременно?

Возможно, в массиве?

Надеюсь услышать хорошие предложения!

+0

Сохраните эти глобальные переменные в СЕССИИ. – Pupil

+10

Просто нет, НЕТ! Не делайте этого – Rizier123

+0

Что бы вы предложили? –

ответ

0

Я переносил множество переменных в глобальные. Теперь я узнал, что мне приходилось на & на каждый цикл, чтобы непосредственно изменять данные в массиве, а не объявлять их и пытаться передать их глобальным переменным.

Для того, чтобы иметь возможность напрямую изменять элементы массива в цикле перед значением $ &. В этом случае значение будет присвоено по ссылке.

 <?php 
     $arr = array(1, 2, 3, 4); 
     foreach ($arr as &$value) { 
      $value = $value * 2; 
     } 
     // $arr is now array(2, 4, 6, 8) 
     unset($value); // break the reference with the last element 
     ?> 

Спасибо за помощь! Я мог бы удалить много кодов и переменных ...

0

Вы могли бы просто включить все глобальные переменные.

function myFunc() { 
    foreach ($GLOBALS as $n => $v) { 
    global $$n; 
    } 
    ... code using any global variable 
} 

Или вы можете включить свой собственный предопределенный подмножество.

$myGlobals = array('n1','n2'); 

function myFunc() { 
    foreach ($GLOBALS['myGlobals'] as $n) { 
    global $$n; 
    } 
    ... code using any global variable named in $myGlobals 
} 
Смежные вопросы