吾爱乐享
个人学习网站

php学习之php的变量的使用

1.变量的介绍

说明:可以存储变化的量(数据)的空间,可以变化的量是通过上下文来决定的,属于弱类型语言

2.变量的声明

说明:变量的声明四用‘$’来进行定义的声明的,在内存中需要定义变量并赋值

语法:$变量名=变量值;

变量名的范围:数字、大小写字母、下划线且不能以数字开头

变量名一般是见名知意的定义,

3.可变变量

说明:可以把某个变量的值当成另一个变量的名开使用,这个时候的好处是减少变量的定义,节省内存空间

案例:

4.变量的传值方式

  • 值传递:把一个变量的值复制一份,然后在赋值给另一个变量,这个时候的两个变量没有任何关系的

  • 引用传递:把一个变量的值的地址给另一个变量,这个时候的两个变量公用同一个地址对应的值,指向同一个地址,这两个变量值有关系的。&取地址值符号

5.变量的范围

说明:在php中变量分为三种访问方式,局部变量、全局变量、静态变量

  • 全局变量:在函数外定义的变量就称为全局变量,正常情况只能在函数外使用

  • 局部变量:在函数中定义的变量称为局部变量。正常情况只能在函数中使用

  • 静态变量:在正常情况下是在运行完当前页面后进行销毁的(php自己的特性),如果不想销毁可以使用静态变量

说明:调用函数age1,因为$age1变量变成静态,所以调用一次函数后,变量并没有销毁,执行$age1++后变量就会增加1,所以再次调用的时候,值就变了

全局转局部或者局部转全局

说明:局部变量可以在函数内部声明为全局变量,这个时候局部就可以在函数外使用,声明方式:$GLOBALS和global

局部转全局

全局转局部

6.变量常用的5个函数

  1. isset():判断变量是否存在
  2. unset():删除或销毁变量
  3. empty():判断变量是否为空
  4. echo:输出打印值,不能输出复合和特殊的数据类型的值
  5. var_dump():输出打印值、类型、长度、打印复合或特殊类型的值

isset()

//isset()用法
//用法一,最基础的判断变量是否存在
$user_name = 'admin';
$res = isset($user_name,$abs);//判断变量user_name和abs是否存在
var_dump($res) ;//输出结果为false,因为虽然$user_name存在 但是$abs不存在,所以结果为假

//用法二,目的是防止用户直接访问当前页面,如果直接访问会查不到$use_age下标,结果会报错
$use_age = isset($_GET['use_age'])?$_GET['use_age']:'';
//用法三,
if (isset($age,$name)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

unset():unset不止可以删除变量,还可以删除数组中的某个元素

empty():判断是否为空

echo

var_dump()

<?php

/**
* @Author: admin
* @Date: 2018-08-11 16:50:35
* @Last Modified by: admin
* @Last Modified time: 2018-08-12 10:09:02
*/
//可变变量
$name='张三';
$$name='hello';
echo $$name;//相当于把张三当作一个变量名,把hello赋值给张三,打印结果为hello
echo $name;
echo '<br>';
//值传递
$name = '张三';
$zs = $name;//帮变量$name赋值给$zs ,相当于把张三赋值给$zs
echo $name,$zs;//打印结果为两个张三
$name = '李四';//给变量重新赋值,用现在的值覆盖原来的值
echo $name;
echo "<br>";
$age = 23;
$zsage = &$age;//&取地址值符号,&是获取$age的数据的地址值
echo $age,$zsage;//打印结果是两个23
echo '<br>';
$age = 24;//修改age的值,引用传递方式修改,修改一个另一个也会改变
echo $age,$zsage;//打印结果$age=24,$zsage=24
echo '<br>';
//删除变量$age,另一个结果不受影响
unset($age);
echo $age,$zsage;//打印结果$age报错,$zsage=24;
//全局变量
$name = '张三';
function user(){
echo $name;//在函数外定义一个变量$name,在函数中调用,结果会报错,说明全局变量正常情况是不能在函数中调用
}
user();
function age(){
$age=24;//在函数中定义变量
echo $age;
}
age();//调用函数,结果会打印24
echo "<hr>";
echo $age;//在函数外打印变量$age
//静态变量
$age=24;
$age++;
echo $age;//输出结果为25

function age1(){
static $age1=16;//定义一个静态变量$age1,static 就是静态变量的声明方式,静态变量声明后运行完当前页面不在销毁这个变量,而是保留
echo $age1;//打印age1的值为16
$age1++;
}
//调用函数age1,因为$age1变量变成静态,所以调用一次函数后,变量并没有销毁,执行$age1++后变量就会增加1,所以再次调用的时候,值就变了
age1();//调用一次,结果为16
age1();//调用第二次,结果17,
age1();//调用第三次,结果18,
age1();//调用第四次,结果19,
echo "<hr>";
//局部转全局
//定义一个函数
function sex(){
global $sex;//global就是把变量$sex声明成全局变量,这样就可以在全局使用
$sex='男';//global声明完之后,给变量赋值
echo $sex;
}
sex();//调用函数 结果为男
echo $sex;//在全局打印局部定义的变量,结果输出为男

//全局转局部
$names = '张三';//定义一个全局变量$names
//定义函数
function names(){
//用global声明变量$names为局部变量
global $names;
echo $names;//打印$names.结果为张三
}
//调用函数
names();

//isset()用法
//用法一,最基础的判断变量是否存在
$user_name = 'admin';
$res = isset($user_name,$abs);//判断变量user_name和abs是否存在
var_dump($res) ;//输出结果为false,因为虽然$user_name存在 但是$abs不存在,所以结果为假

//用法二,目的是防止用户直接访问当前页面,如果直接访问会查不到$use_age下标,结果会报错
$use_age = isset($_GET['use_age'])?$_GET['use_age']:'';
//用法三,
if (isset($age,$name)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

//unset()销毁变量
$a =1;
unset($a);//销毁变量a
if (isset($a)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

//empty()
$v=1;
if (empty($v)) {
# code...
echo '存在';
} else {
# code...
echo "不存在";
}

//echo
$b=1;
$arr = array(1,2,3);
echo $b,$arr;//打印结果b=1,但是$arr是数组,echo打印会报错Notice: Array to string conversion 
//var_dump()
var_dump($arr,$b);//var_dump可以打印复合型的数据,所以可以打印数组
赞(0) 打赏
未经允许不得转载:吾爱乐享 » php学习之php的变量的使用

评论 抢沙发

评论前必须登录!

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏