В чем разница между переменной «GLOBAL» и «STATIC» в PHP?

В чем же разница между переменными GLOBAL и STATIC в PHP? И какой из них предпочтительнее использовать, когда мы хотим использовать переменную в нескольких функциях?

Благодарю.

Solutions Collecting From Web of "В чем разница между переменной «GLOBAL» и «STATIC» в PHP?"

Статическая переменная просто означает, что var принадлежит классу, но может ссылаться без необходимости создания экземпляра указанного класса. Глобальный var живет в глобальном пространстве имен и может ссылаться на любую функцию в любом классе. Глобальные вары всегда нахмурились, потому что их так легко злоупотребляют, перезаписывают, случайно ссылают и т. Д. По крайней мере, со статическими варами вам нужно ссылаться через Class::var;

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

например

 <?php $g_var = 1; function test() { var_dump($GLOBAL['g_var']); global $g_var; var_dump($g_var); } 

Static используется для определения var, который имеет весь ресурс скрипта, и init только один раз.

например

 <?php function test() { static $cnt = 0; $cnt ++; echo $cnt; } $i = 10; while (-- $i) { test(); }