前端学PHP之变量
前面的话
变量是用于临时存储值的容器。这些值可以是数字、文本,或者复杂得多的排列组合。变量在任何编程语言中都居于核心地位,理解它们是使用php的关键所在。下面将详细介绍php中的变量
[注意]关于javascript中的变量部分移步至此
变量定义
php的特性之一就是它不要求在使用变量之前声明变量,当第一次给一个变量赋值时,才创建了这个变量
变量以$符号开头,其后是变量的名称。这使得PHP语言解析速度更快,因为解析器只要碰见这个符号就会立即知道接下来的是一个变量
变量名称必须以字母或下划线开头,对大小写敏感。
<?php
$x=5;
echo $x;//5
echo $X;//报错
?>
[注意]内置结构和关键字以及用户自定义的类名和函数名是不区分大小写的,比如echo、while、函数名称等都可以任意大小写
<?php
//输出123
echo 1;
Echo 2;
eCho 3;
?>
关键字
php中有一些是系统定义的,也称为关键字,是php语言的组成部分、因此不能使用它们中的任何一个作为常量、函数名或类名。但是和其他语言不同的是,系统关键字可以在php中作为变量名称使用,不过这样容易混淆,所以最好还是不要以php关键字作为变量名称
<?php
//输出123
$echo = 123;
echo $echo;
?>
下面是常用的php关键词列表
abstract and array as break callable case catch class cloneconst continue declare
default diedo echo else elseif emptyenddeclare endfor endforeach endif
endswitchendwhile eval exit extends final finally for foreach function global
goto if implements include instanceof insteadof interface isset list namespace
new or print private protectedpublic require return static switchthrow trait
try unset usevar while xor yield
变量赋值
一般地,变量总是传值赋值,也就是说,将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量
[注意]虽然在PHP中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值——布尔类型的变量默认值是FALSE,整型和浮点型变量默认值是0,字符串型变量默认值是空字符串,数组变量的默认值是空数组
<?php
$a1 = 123;
$a2 = $a1;
$a1 = 234; //输出234
echo $a1;
echo '<br>'; //输出123
echo $a2;
?>
php中提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单地引用了原始变量。改动新的变量将影响到原始变量,反之亦然
使用引用赋值,简单地将一个'&'符号加到源变量前即可
<?php
$a1 = 123;
$a2 = &$a1;
$a1 = 234; //输出234
echo $a1;
echo '<br>'; //输出234
echo $a2;
?>
可变变量
一个变量的变量名可以动态地设置和使用。一个普通的变量通过声明来设置,而一个可变变量获取了一个普通变量的值作为这个可变变量的变量名
<?php
$hi = 'hello';
$$hi = 'world';
echo "$hi $hello";//'hello world'
echo "$hi ${$hi}";//'hello world'
?>
变量函数
变量函数数量众多,一些函数会在后面博文再做相关介绍。现在,主要介绍isset()、unset()和var_dump()这三个函数
var_dump()函数用来返回变量的类型和值
<?php
$p = 3.14;
var_dump($p);//float 3.14
$p = 'abc';
var_dump($p);//string 'abc' (length=3)
?>
unset()函数用来释放指定的变量
<?php
$p = 'abc';
echo $p;//'abc'
unset($p);
echo $p;//报错
?>
isset()函数用来检测变量是否设置,当一个变量被设置为NULL或被释放,则返回false,否则返回true
[注意]对于表单控件type="radio"或select控件,可以使用isset()函数来判断值是否为空。如果是type="text"的输入框,则需要使用empty()来判断
<?php
$p = 'abc';
var_dump(isset($p));//boolean true
$p = NULL;
var_dump(isset($p));//boolean false
unset($p);
var_dump(isset($p));//boolean false
?>
前端学PHP之变量的更多相关文章
- 从头开始学JavaScript (八)——变量
原文:从头开始学JavaScript (八)--变量 一.变量分类: 基本类型值:null.undefined.number.string.Boolean: 引用类型值:保存在内存中的对象,如:Obj ...
- 从头开始学JavaScript (二)——变量及其作用域
原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符 ...
- dedecms前端无法调用自定义变量怎么解决
网友问ytkah说他的dedecms前端无法调用自定义变量要怎么解决,登录他的网站后台看了一下,自定义变量已经添加了,也写入了数据库表中,但是就是前台没办法调用出来,后面想想可能是文件权限不够,具体是 ...
- 前端学做 PPT
前端学做 PPT 公司做技术分享.年终总结都需要用到ppt. 要快速.省事的做出高质量的 ppt,一方面需要熟练使用制作 ppt 的工具,另一方面得知道用工具做成什么样子才是好作品.前者比较简单,后者 ...
- 前端学HTTP之网络基础
× 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...
- 前端学PHP之自定义模板引擎
前面的话 在大多数的项目组中,开发一个Web程序都会出现这样的流程:计划文档提交之后,前端工程师制作了网站的外观模型,然后把它交给后端工程师,它们使用后端代码实现程序逻辑,同时使用外观模型做成基本架构 ...
- 前端学PHP之Smarty模板引擎
前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...
- 前端使用mobx时,变量已经修改了,为什么组件还是没变化,map类型变量,对象类型变量的值获取问题(主要矛盾发生在组件使用时)
前天我在使用一个前端多选框组件时遇到了一个问题,明明对象内的值已经修改了,但是组件显示的还是没有效果改变,以下是当时打出的log,我打印了这个对象的信息 对象内的值已经修改了但是组件还是不能及时更改, ...
- 零基础学python-3.2 变量赋值
这一节我们来具体展开变量赋值 1.以下我们举各种赋值的样例 anInt=12 anFloat=2.2 anStr='string' aList=['a','a','a'] anArray=(1,2,3 ...
随机推荐
- Java_类似java.lang.VerifyError: Expecting a stackmap frame at branch target 22 in method的解决方法
报异常的方法内使用了Java 7的新特性:自动资源释放,类似于try(){},即在try后面跟一括号,在括号里面对一些资源赋值,try里面的代码块执行完毕之后会自动释放try后面的括号中声明的资源. ...
- Salesforce学习笔记(一)
Force平台简介 一.Force平台应用程序的优点1.以数据为中心的应用程序(一个对象就是一个数据库表) 由于该平台以数据库为中心,它让你能够编写以数据为中心的应用程序.以数据为中心的应用程序是基于 ...
- 踏上Salesforce的学习之路(二)
一.添加一个字段到对象中 1.给Merchandise对象添加一个Price字段 先点击右上角姓名旁边的Setup(不管你在哪个页面,点击Setup都能让你快速的回到首页,如下图所示),然后在左侧的Q ...
- xcode 版本控制推送代码到远程git仓库的步骤
一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终 ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- Ubuntu安装Oracle SQLDeveloper
1、下载Oracle安装文件 这里我下载的是Linux RPM版本,文件名为sqldeveloper-4.0.3.16.84-1.noarch.rpm http://www.oracle.com/te ...
- 深入super,看Python如何解决钻石继承难题 【转】
原文地址 http://www.cnblogs.com/testview/p/4651198.html 1. Python的继承以及调用父类成员 python子类调用父类成员有2种方法,分别是普通 ...
- PHP 通过百度API 实现通过城市名称获取经度
$city = $_GET['city'];print_r(getjw($city));/*** $city 需要查询的地址* $key 百度开发者账号*/function getjw($city){ ...
- fasicon.js (无二维码版,如需要js创建二维码版本可联系我:770959294@qq.com)
/*** Created by 张云山 on 2016/12/9.*/(function(wins,doct){wins.fasicon = function(){this.name = " ...
- HTML 常用标签
一.基础标签 <!-- --> 定义注释 <!DOCTYPE> 定义文档类型 <style> 定义文档的样式信息 <meta> 定义关于HTML文 ...