这篇文章主要介绍了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实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP中的错误及其处理机制 2023-06-04
- php array分组,PHP中array数组的分组排序 2022-08-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- 使用PHP开发留言板功能 2023-03-13
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09