PHP重温(一)--作用域与输出语句

变量作用域

定义在函数外部的是全局变量,作用域从定义处一直到文件结尾。函数内定义的变量是局部变量,作用域为函数定义范围内。函数之间作用域互不影响。

四种:local局部作用域\global全局作用域\static静态作用域\parameter参数作用域

global

在函数内调用函数外定义的全局变量,在函数中的变量前加上global关键字。

php中函数有独立的作用域,局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。

<?php
$x = 5;
$y = 10;
function test(){
    global $x,$y;
    $y = $x + $y;
    }
?>

php将所有全局变量存储在$GLOBALS[index]数组中,index保存变量的名称,可以在函数内部调用这个数组,也可以通过它更改全局变量

<?php
$x = 5;
$y = 10;
function test(){
    $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
    }
?>

static

当一个函数完成时,其所有变量都会被删除,当希望这个局部变量不被删除时,在第一次声明这个变量时使用static

function test(){
    static $x = 0;
    $x++;
    }
    test();
    test();
    test();


每次调用该变量时,会保留函数前一次被调用的值。(该变量仍然是函数的局部变量)

输出语句

echo 和 print

echo输出的速度比print快,echo没有返回值,print有返回值1。echo能接受n个字符串类型的参数,print只能接受1个字符串类型的参数。

echo 

输出一个或多个字符串,多个值之间用逗号分隔,echo是语言结构,不是真正的函数,因此不能作为表达式的一部分使用。echo输出字符串,不能输出数组,可以输出数组中的一个元素,但要先保证这个元素是一个字符串而不是一个数组。

$name = "blue";
$arr = arr('blue','zarm','hhh');
echo "$name在学习php";
echo "我在{$arr[2]}地笑";

print

只允许输出一个字符串,如果字符串成功显示返回true,否则false。

print_r

可以把字符串和数字简单打印出来,数组以键值对形式打印。

var_dump

判断一个变量的类型和长度,并输出变量的数值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值