Небольшой пример с переводом типов данных";
$int = 2147483647;//integer
$fl = 2147483647 + 1;//float <- интересное поведение
$str = "abc";//глобальная
echo " \$int = 2147483647 \t Type - ".gettype($int) . "
";
echo " \$fl = 2147483648 \t Type - ".gettype($fl) . "
";
#------------------------------------------------------------------------------
/*
Пример демонстрирующий возможности суперглобальной переменной $GLOBALS
*/
echo "Пример демонстрирующий возможности суперглобальной переменной \$GLOBALS
";
function test() {
$str = "defghj"; //локальная
echo "Это локальная переменная STR = " . $str . "
";
echo "Ссылки на все переменные глобальной области видимости
";
echo "";
foreach($GLOBALS as $name => $value) {
echo "- " . $name . " = " . $value . "
";
//echo gettype($GLOBALS[$name]);
}
echo "
";
}
test();
# -----------------------------------------------------------------------------
echo "\$GLOBALS доступ к переменным
";
$a = 12;
$b = 17;
/*
Доступ к значению переменой производится через её имя без знака $
*/
function sum() {
echo " Сумма равна - " . ( $GLOBALS['a'] + $GLOBALS['b'] ) . "
";
}
//просто посчитаем сумму пока числа не будут равны
for( ; $a < $b; $a++) {
sum();
}
#------------------------------------------------------------------------------
/*
Чуть переделанный пример
*/
echo "Погружение вглудь \$GLOBALS
";
function newTest() {
echo "";
foreach($GLOBALS as $name => $value) {
echo "- " . $name . " = " . $value . "
";
//функция is_array возращает TRUE если переменная является массивом
if ( is_array($GLOBALS[$name]) ) {
echo "";
//посколько это массив мы можем по нему пройтись
foreach($GLOBALS[$name] as $key => $val){
echo "- " . $key . " = " . $val . "
";
}
echo "
";
}
}
echo "
";
}
newTest();
?>