博客列表 >作用域概念解析、变量类型的检测、简单的if分支结构编写—8月22日作业

作用域概念解析、变量类型的检测、简单的if分支结构编写—8月22日作业

v1per911的博客
v1per911的博客原创
2018年08月28日 11:25:17705浏览

问答题:

什么是变量的作用域?

    首先在一个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小时?';
    }

运行实例 »

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



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议