Blogger Information
Blog 11
fans 0
comment 0
visits 6750
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
作用域概念解析、变量类型的检测、简单的if分支结构编写—8月22日作业
v1per911的博客
Original
706 people have browsed it

问答题:

什么是变量的作用域?

    首先在一个PHP文件中,定义在<?php ?>标签中的变量,就是一个全局变量,这个变量的作用域是除了被引用的函数的全局,因为在某个函数中,是无法直接引用全局变量的,函数的创建,相当于重新创造了一个域。

    如果要在函数中使用全局变量有两种方式,如下:

实例1:全局变量

<?php
$a = 100; //这里的$a是全局变量

function a()
{
    return $a; //这里的$a是局部变量
}
echo a().'<br>'; //报错,函数中获取不到$a,无法输出

$b = 200;
function b()
{
    global $b;
    return $b.'<br>';
}
echo b().'<br>';

$GLOBALS['c'] = 300;
function c()
{
    return $GLOBALS['c'].'<br>';
}
echo c().'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


静态变量,通常情况下,函数中的变量在函数执行完毕后,就会被释放,如果在函数执行完毕后,函数内部的变量值被保存下来供下一次执行时使用,则称之为静态变量。如下 

实例2:静态变量

<?php
function i()
{
    $i = 1;
    return '这是第'.$i.'次执行'.$i++.'<br>';
}
echo i();
echo i();
echo i();
echo '<hr>';
function j()
{
    static $j = 1;
    return '这是第'.$j.'次执行'.$j++.'<br>';
}
echo j();
echo j();
echo j();

运行实例 »

点击 "运行实例" 按钮查看在线实例


实例3:变量类型的检测

<?php
class foo // 创建一个对象
{
    function do_foo()
    {
        echo 'do foo';
    }
}
$class = new foo;
var_dump($class); //检测为Object
echo '<hr>';

$int = 10;
var_dump($int); //检测为整形(integer)
echo '<hr>';

$float = 10.2213;
var_dump($float); //检测为浮点型(float)
echo '<hr>';

$str = 'Hello, World!';
var_dump($str); //检测为字符串(string)
echo '<hr>';

$arr = [1,2,3,4,5,6,7,9];
var_dump($arr); //检测为数组类型(array)
echo '<hr>';

$bool = true;
var_dump($bool); //检测为布尔型(boolean)
echo '<hr>';

$null = null;
var_dump($null); //检测为NULL
echo '<hr>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


实例4:分支结构

<?php
/**
 *找出1-100中可以被7和3整除的整数。
 */
for ($i=1;$i<=100;$i++){
    echo ($i%7 == 1 && $i%3 == 1) ? $i.' ' : '';
}

echo '<br>';
/**
 * 以整点为界的时间判断
 */
$hour = -5;
    if ($hour >= 0 && $hour < 6){
        echo '大半夜还不睡觉?';
    }elseif($hour >=6 && $hour < 8){
        echo '清晨好!';
    }elseif($hour >=8 && $hour < 12){
        echo '上午好!';
    }elseif($hour >=12 && $hour < 13){
        echo '中午好!赶紧趴一会,中午不睡,下午崩溃!';
    }elseif($hour >=13 && $hour < 17){
        echo '下午好!';
    }elseif($hour >=17 && $hour < 18){
        echo '吃个晚饭!';
    }elseif($hour >=18 && $hour < 20){
        echo '饭后运动一下!';
    }elseif($hour >=20 && $hour < 22){
        echo '赶紧去php.cn上课了!';
    }elseif($hour >=22 && $hour < 24){
        echo '早点洗洗睡吧!';
    }else{
        echo '怎么的?你们家时间是负数的还是一天有25小时?';
    }

运行实例 »

点击 "运行实例" 按钮查看在线实例



Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments