PHP正在进行时-变量详解及字符串动态插入变量

 更新时间:2017年12月05日 09:43:44   投稿:mrr  
这篇文章主要介绍了PHP正在进行时-变量详解及字符串动态插入变量的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

在PHP中,变量是$+变量名,变量名遵循标识符的命名规则,可以以字母、下划线开头,可以由数字、下划线、字母组成合法的变量名。

变量声明

所有变量在使用之前应该进行声明,而且最好带上注释,虽然在PHP中可以不显示声明变量。声明变量之后,可以为变量进行赋值;变量的赋值有两种类型值赋值和引用赋值。

<?php
  #合法的声明变量
  $_name;
  $account;
  $show_title;
  #赋值
  $color="red";
  #引用赋值
  $user_color=&$color;
?>

变量的作用域

在PHP脚本中的任何位置都可以声明变量,但是根据位置的不同,作用域的范围也不同。

局部变量

一般局部变量都是在函数中声明,即它只能在函数中被引用,函数退出时改变量及其值被销毁。如果在函数外使用该变量,PHP会把它当作另外一个变量进行处理,与函数中的变量无任何关系。

<?php
  $x=5;
  function show_x() {
    $x=3;
    echo $x;
  }
  show_x();
  echo $x;
?>

函数参数

函数参数更具其传递的方式分为两种,按值传递和按引用传递;如果是按值传递,参数的作用域只限于函数内,函数退出后参数被销毁。但按引用传递,参数的作用域范围不仅在函数内部。

<?php
  $cost_fish=20.10;
  $cost_apple=2.45;
  #引用参数前面需要加上&符号
  function rise($cost_fish,&$cost_apple) {
    $cost_fish++;
    $cost_apple++;
  }
  rise($cost_fish,$cost_apple);
  echo $cost_fish."值传递参数<--->引用传递参数".$cost_apple;
?>

全局变量

可以在脚本中的任何一个地方访问全局变量,但在函数中要修改全局变量的时候需要使用关键字global显式的声明。

<?php
  $x=5;
  function show_x() {
    global $x;
    $x++;
  }
  show_x();
?>

通过$GLOBAL数组也可以声明全局变量

<?php
  $x=5;
  function show_x() {
    global $x;
    $x++;
  }
  show_x();
?>

使用全局变量一定要谨慎,用多了之后很容易造成代码混乱。

静态变量

静态变量与函数参数不同在于,静态变量声明的时候多了static关键字,使得静态变量在函数退出之后不会被销毁,并且保留这个值在函数再次调用的时候使用该值。

<?php
  function spend() {
    static $date=0;
    $date++;
    echo $date;
  }
  spend();
  spend();
?>

PHP预定义变量

PHP中预定义了很多变量,可以在执行脚本的任何位置访问他们,这些变量主要是提供了大量关于环境的信息。

  //打印出$_SERVER 预定义的变量信息
  foreach($_SERVER as $var =>$value){
    echo "$var=>$value<br/>";
  }

先看下PHP正在进行时-字符串动态插入变量的内容。具体内容详情如下所示:

在PHP中,一般用双引号或者单引号将字符串括起来。

  echo "张三李四王五叫上赵六一起去'喝酒'".

如果要动态将将数据插入到字符串中,我们除了使用.号拼接,还可以通过使用{}来标识字符串中动态的部分。

<?php
  $name="赵六";
  echo "张三李四王五\n叫上$name一起去\'喝酒\'.";
  echo "</br>";
  echo "张三李四王五\n叫上\$name一起去\'喝酒\'.";
  echo "</br>";
  echo "张三李四王五\n叫上{$name}一起去'喝酒'.";
  echo "</br>";
  echo '张三李四王五\n叫上$name一起去\'喝酒\'.';
  echo "</br>";
  echo '张三李四王五\n叫上{$name}一起去\'喝酒\'.';
  echo "</br>";
?>

通过上面的代码我们发现:

  • 在双引号中直接插入变量是无效的;
  • 在双引号中可以通过反斜杠()转义字符,但双引号中的单引号不需要通过反斜杠转义;
  • 在单引号中除了可以转义单引号,对其他的字符反斜杠转义是无效的;
  • 通过{}可以在双引号字符串中动态插入变量。

总结

以上所述是小编给大家介绍的PHP正在进行时-变量详解及字符串动态插入变量,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • php如何计算两坐标点之间的距离

    php如何计算两坐标点之间的距离

    这篇文章主要为大家详细介绍了php如何计算两坐标点之间的距离,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • PHP设计模式之解释器(Interpreter)模式入门与应用详解

    PHP设计模式之解释器(Interpreter)模式入门与应用详解

    这篇文章主要介绍了PHP设计模式之解释器(Interpreter)模式,结合实例形式详细分析了PHP解释器模式的概念、原理、基本应用与相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法)

    PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法)

    下面小编就为大家分享一篇PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 基于OpenCart 开发支付宝,财付通,微信支付参数错误问题

    基于OpenCart 开发支付宝,财付通,微信支付参数错误问题

    使用OpenCart 开发支付宝,财付通,微信支付如果稍不用心,很容易导致很多问题,而这些错误很有可能是参数传递错误,下面小编给大家整理了一篇文章很不错,在此分享给大家,感兴趣的朋友一起看看吧
    2015-10-10
  • PHP解决高并发的优化方案实例

    PHP解决高并发的优化方案实例

    这篇文章主要介绍了PHP解决高并发的优化方案实例,介绍的非常详细,对这块不太明白的小伙伴可以跟随小编一起来探讨研究吧!
    2020-12-12
  • thinkPHP批量删除的实现方法分析

    thinkPHP批量删除的实现方法分析

    这篇文章主要介绍了thinkPHP批量删除的实现方法,结合实例形式分析了thinkPHP实现批量删除数据的数据库及模板操作相关技巧,需要的朋友可以参考下
    2016-11-11
  • PHP可变函数学习小结

    PHP可变函数学习小结

    PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它,本文给大家分享php可变函数学习小结,对php可变函数相关知识感兴趣的朋友一区学习吧
    2015-11-11
  • Ha0k 0.3 PHP 网页木马修改版

    Ha0k 0.3 PHP 网页木马修改版

    Ha0k 0.3 PHP 网页木马修改版,大家可以看下,对于此类文件的防御方法,可以参考脚本之家发布的文章。
    2009-10-10
  • ThinkPHP打开验证码页面显示乱码的解决方法

    ThinkPHP打开验证码页面显示乱码的解决方法

    这篇文章主要介绍了ThinkPHP打开验证码页面显示乱码的解决方法,通过头部添加自定义文件验证目录并过滤BOM头来实现该功能,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • Laravel如何上传文件实现示例

    Laravel如何上传文件实现示例

    这篇文章主要为大家介绍了Laravel如何上传文件的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论