1.判断变量是否存在isset()

$v1="a";
if(!isset($v1)){
    echo "变量存在";
}else{
    echo "变量不存在";
}
2.unset():就是断开变量名跟数据之间的“引用关系”3.echo 输出信息
<?php
echo "<b>你好</b>";
?>
4.var_dump($_GET);用于输出变量的完整信息,变量名,变量数据,变量长度
$v10 = ;
$v20 = &$v10;    //此时发生传值问题,注意符号:&
$v20++;
echo "<br />v10=$v10, v20=$v20";
数据结果是11,,2个变量都指向了同一个数据
5.可变变量

所谓可变变量,就是一个变量的名,又是一个变量。
可变变量的语法是php的很特殊的语法——其他语言中少见。
$v1 = “abc”; //这是一个字符串变量,其内容是字符串“abc”
$abc = 10; //这是一个普通变量,其内容是数字10
echo $$v1; //此时,就是所谓“可变变量”
怎么理解:
1,凡是$符号出现,就会有可能理解为是一个变量
2,这里第一个“$”出现了,则php就视图将其解释为一个变量,变量名是$v1;
3,我们有知道,$v1的值是”abc”,
4,那么,第一个“$”符号后面的变量名,就得到为“abc”
5,即:echo 试图输出的是变量$abc, 自然是数字10
实际上,理论上,可变变量的嵌套还可以更多,比如:$$$def;

6.预定义变量
综述:
1:预定义变量又叫超全局变量,包括:
$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION, ..........(大约10个)
2:作用域问题
php中,自定义的变量的作用域,分两种:全局作用域(函数外),局部作用域(函数内)。
但:
预定义变量的作用域称为“超全局作用域”:全局作用域 + 局部作用域的总和(函数内外全都可用)
3:数据类型问题:
超全局变量都是数组!

常量
含义:用于存储一个不会变化也不希望变化的数据的标示符。
常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式。

定义形式
使用define()函数定义
使用形式:define(“常量名”, 常量值);
推荐常用名使用全大写形式

使用const语法定义
使用形式: const 常量名 = 常量值;
但const语法只能在“最顶层”的代码域中使用(不能在大括号中)
也即,const语法不能在函数中或条件语句中或其他表示一个“范围”的语句中使用

常量变量的区别:
定义形式不同:
使用形式不同:常量无需$符号
可变程度不同:常量的值不可以改变,常量也不可以销毁
作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)
可用类型不同:常量只能存储标量类型:int,float,string,bool

判断常量是否存在:defined()
判断的结果为布尔值。
常用形式:if ( defined (某常量名) == false ){ .....这里可以去定义该常量;}
实际上,可以这样:
$result = defined (某常量名); //结果是true或false

预定义常量:
php语言中,预定了大量的常量,可以直接使用。
其中有些常量,是需要某些模块打开之后才有(比如mysql模块)
比如M_PI(圆周率), PHP_OS(操作系统), PHP_VERSION(php版本号),PHP_INT_MAX(php中的最大的整数值)
参考手册〉附录〉保留字列表〉预定义常量

魔术常量
魔术常量其实是一种值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。
比如:__DIR__(当前网页文件的所在目录),__FILE__(当前网页文件),__LINE__(当前这一行)
魔术常量其实类似变量,其值随着不同代码而变化,不区分大小写
参考手册〉语言参考〉常量〉魔术常量

echo "<BR />当前网页文件所在目录为:" . __DIR__;
echo "<BR />当前网页文件为:" . __FILE__;
echo "<BR />当前为第" . __LINE__ . "行";
echo "<BR />当前为第" . __LINE__ . "行";

echo "<BR />当前为第" . __LINE__ . "行";

会自动查询文件的目录并输出,当前多少行并输出

php基础知识(1)的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  10. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

随机推荐

  1. asp.net页面过滤所有换行符和多余空格

    不知道大家注意到了没有,Google和Baidu网页的HTML源代码是混合在一起的.HTML代码混合在一起,出发点是为了减小网页体积,从而加快网页加载速度. 写个函数把网页HTML源代码的换行符和空格 ...

  2. hdu4422The Little Girl who Picks Mushrooms

    4422 小于等于3 的时候就是1024 4的时候 讨论 5的时候讨论 注意重量为0的情况 #include <iostream> #include<cstdio> #incl ...

  3. 快速掌握 Android Studio 中 Gradle 的使用方法 [转http://blog.csdn.net/feelang/article/details/41783317]

    Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build工具. Gradle脚本是基于一种JVM语言 -- Groovy,再加 ...

  4. volley(3) 参数{or_barcode:or_barcode,or_remai:or_remain, bar_remain:bar_remain} method:POST

    1. 来自于WHCombineBatchFragment.java/** * 分拆按钮点击事件,获取数据,同时获取popupWindow的数据 */private void breakingBtnCl ...

  5. UISlide

    UISlide属性   1.   minimumValue  : 当值可以改变时,滑块可以滑动到最小位置的值,默认为0.0 _slider.minimumValue = 10.0; 2.   maxi ...

  6. POJ 3308 Paratroopers (对数转换+最小点权覆盖)

    题意 敌人侵略r*c的地图.为了消灭敌人,可以在某一行或者某一列安置超级大炮.每一个大炮可以瞬间消灭这一行(或者列)的敌人.安装消灭第i行的大炮消费是ri.安装消灭第j行的大炮消费是ci现在有n个敌人 ...

  7. Linux setjmp longjmp

    /********************************************************************* * Linux setjmp longjmp * 说明: ...

  8. UVALive 4043 Ants 蚂蚁(二分图最佳完美匹配,KM算法)

    题意: 有n个蚂蚁n棵树,蚂蚁与树要配对,在配对成功的一对之间连一条线段,要求所有线段不能相交.按顺序输出蚂蚁所匹配的树. 思路: 这个题目真是技巧啊,不能用贪心来为每个蚂蚁选择最近的树,这样很可能是 ...

  9. HDU 5273 Dylans loves numbers(水题)

    题意:给出一个0≤N≤1018,求其二进制中有几处是具有1的,假设相连的1只算1处,比如1101011就是3处. 思路:一个个数,当遇到第一个1时就将flag置为1:当遇到0就将flag置为0.当遇到 ...

  10. 理解matplotlib绘图

    matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件.它能让使用者很轻松地将数据图形化 ...