初学PHP day1

换行符

突然发现php里有好多换行符啊 比如:
echo "<br>";
 echo "<p>测试函数内变量:<p>"; //<p>的作用就是换行
 echo PHP_EOL;

再比如:

<h2>和</h2>,作用是加粗加换行

作用域

由于在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。所以要想在函数中直接使用全局变量可以通过 global 关键字声明或者通过 php 中自定义的 $GLOBALS 数组获取:
    <?php
    $a=5;
    $b=3;
    function t1()
    {  
        global $a,$b;//global关键字声明用法
        echo $a-$b;  // 输出 2
    }
    t1();
    
    echo PHP_EOL;

function t2()
{
    echo $GLOBALS['a']-$GLOBALS['b'];  // 输出 2,$GLOBALS 数组用法
}
t2();
?>

但是不可以这样用数组:

 echo "变量 x 为:$GLOBALS['x']";

可以这样:

  echo "变量 x 为:";
  echo  $GLOBALS['x'];

或者这样:

 echo "变量 x 为:{$GLOBALS['x']}";

转义字符

echo "这是一个\"看脸\"的时代";

这一行代码中有4个引号,导致计算机不知道第一个引号是跟第二个引号一起的,还是第三个一起的,进而导致运行出错。
\(反斜杠)会告诉计算机,后面的这一个符号,我需要原封不动的显示。

但是在php的 定界符 EOF 中的任何特殊字符都不需要转义,形式如下:

<?php
$name="runoob";
$a= <<<EOF
    "abc"$name
    "123"
EOF;
// 结束需要独立一行(其后不能有任何东西,包括注释)且前后不能空格
echo $a;
?>

运行结果如下:

"abc"runoob
"123"

但是也有例外,

<?php
$name="变量会被解析";
$a=<<<EOF
$name<br><a>html格式会被解析</a><br/>双引号和Html格式外的其他内容都不会被解析
"双引号外所有被排列好的格式都会被保留"
"但是双引号内会保留转义符的转义效果,比如table:\t和换行:\n下一行"
EOF;
echo $a;
?>  

它的运行结果是:

变量会被解析
html格式会被解析
双引号和Html格式外的其他内容都不会被解析
"双引号外所有被排列好的格式都会被保留"
"但是双引号内会保留转义符的转义效果,比如table:	和换行:
下一行"  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值