php基本知识复习--变量
2016-05-19 14:28
691 查看
1、变量如何定义?如何检查变量是否定义?如何删除一个变量?判断一个变量是否为空的函数?
2、什么是可变变量?
3、变量赋值方式有哪几种?
4、php中变量有哪些基本数据类型?
5、引用和拷贝有什么区别?
6、其它类型转换为boolean类型时,哪些被认为是false?
7、empty()函数在哪些情况下返回true
8、如果定义了一个变量$a ,但是没有赋初始值 ,那么$a==0吗?$a==false吗?$a==”吗?$a==NULL吗??
会提示警告,但是依然输出true
9、如果定义了一个变量$a ,但是没有赋初始值,那么$a++,++$a
10、字符串怎么转成整数,有几种方法?怎么实现?
11、标量数据和数组的最大区别是什么?
一个标量只能存放一个数据,而数组可以存放多个数据。
12、常量如何定义? 如何检测一个常量是否被定义?常量的值只能是哪些数据类型?
13、.常量和变量有哪些区别?
14、PHP中常用的几个预定义的全局数组变量和系统内置常量
15、在实际开发中,常量最常用于哪些地方?
16、什么是局部变量和全局变量?函数内是否可以直接调用全局变量?
17、php中函数传递参数的方式有哪些?两者有什么区别?
18、字符串运算符“.”与算术运算符“+”有什么区别?
isset():若变量不存在或者其值为NULL,也返回 FALSE unset():删除变量返回true empty():变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true。
2、什么是可变变量?
一个变量的变量名可以动态的设置和使用。 $a = 'hello' , $$a = 'world', $hello=world
3、变量赋值方式有哪几种?
1)直接赋值 2)变量间赋值 3)引用赋值
4、php中变量有哪些基本数据类型?
php支持8种原始数据类型。 包括: 四种标量类型(布尔型boolean,整型interger,浮点型float/double , 字符串string) 两种复合类型(数组array , 对象object) 两种特殊类型(资源resource,NULL)
5、引用和拷贝有什么区别?
拷贝是将原来的变量内容复制下来,拷贝后的变量与原来的变量使用各自的内存,互不干扰。 引用相当于是变量的别名,其实就是用不同的名字访问同一个变量内容。当改变其中一个变量的值时,另一个也跟着发生变化。 $a = 123; $b = $a; $c = &$a; $a = 234; // a = 234, b = 123, c = 234 $c = 345; // a = 345
6、其它类型转换为boolean类型时,哪些被认为是false?
布尔值false,整型值0, 浮点型值0.0, 空白字符串, 字符串'0', 空数组,特殊数据类型NULL, 没有设定的变量。
7、empty()函数在哪些情况下返回true
布尔值false, 整型值0, 浮点型值0.0, 空白字符串, 字符串'0', array()空数组, 特殊数据类型NULL, 没有任何属性的对象, 【没有测试出来,测试代码echo empty((object)array());】 没有赋值的变量。
8、如果定义了一个变量$a ,但是没有赋初始值 ,那么$a==0吗?$a==false吗?$a==”吗?$a==NULL吗??
PHP Notice: Undefined variable: h in /home/li/learn/LearnPHP/test.php on line 24 bool(true) PHP Notice: Undefined variable: h in /home/li/learn/LearnPHP/test.php on line 25 bool(true) PHP Notice: Undefined variable: h in /home/li/learn/LearnPHP/test.php on line 26 bool(true) PHP Notice: Undefined variable: h in /home/li/learn/LearnPHP/test.php on line 27 bool(true)
会提示警告,但是依然输出true
9、如果定义了一个变量$a ,但是没有赋初始值,那么$a++,++$a
var_dump:PHP Notice: Undefined variable: aa in /home/li/learn/LearnPHP/test.php on line 30 NULL //提示警告,var_dump打印出null echo:PHP Notice: Undefined variable: ab in /home/li/learn/LearnPHP/test.php on line 31 //提示警告,打印出空行 var_dump:PHP Notice: Undefined variable: ac in /home/li/learn/LearnPHP/test.php on line 32 int(1) //提示警告 echo:PHP Notice: Undefined variable: ad in /home/li/learn/LearnPHP/test.php on line 33 1 //提示警告
10、字符串怎么转成整数,有几种方法?怎么实现?
强制类型转换: (整型)字符串变量名; asbdsg:0 123abc:123 0123:123 23543:23543 直接转换:settype(字符串变量,整型);settype($str1,'integer'); asbdsg:0 123abc:123 00000123dsgdsf2342:123 23543:23543 intval(字符串变量); asbdsg:0 123abc:123 00000123dsgdsf2342:123 23543:23543
11、标量数据和数组的最大区别是什么?
一个标量只能存放一个数据,而数组可以存放多个数据。
12、常量如何定义? 如何检测一个常量是否被定义?常量的值只能是哪些数据类型?
define()//定义常量 , defined()//检查常量是否定义 常量的值只能是标量类型的数据。 (1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。 (2).const可在类中使用,define不能。 (3).const不能在条件语句中定义常量 (4).const采用一个普通的常量名称,define可以采用表达式作为名称。 (5).const只能接受静态的标量,而define可以采用任何表达式。 (6).const定义的常量时大小写敏感的,而define可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。
13、.常量和变量有哪些区别?
1)常量前没有\$符号; 2)常量只能通过define()定义,而不能通过赋值语句定义; 3)常量可以在任何地方定义和访问,而变量有全局和局部之分; 4)常量一旦定义就不能被重新定义或者取消定义,而变量而通过赋值方式重新定义; 5)常量的值只能是标量数据,而变量的数据库类型有8种原始数据类型。
14、PHP中常用的几个预定义的全局数组变量和系统内置常量
$_POST, $_GET, $_REQUEST, $_SESSION, $_COOKIE, $_FILES,$_SERVER, $_ENV, $GLOBALS __FILE__ , __LINE__ , PHP_OS , PHP_VERSION
15、在实际开发中,常量最常用于哪些地方?
1)连接数据库的信息定义成常量,如数据库服务器的用户名、密码、数据库名、主机名; 2)将站点的部分路径定义成常量,如web绝对路径,smarty的安装路径,model、view或者controller的文件夹路径; 3)网站的公共信息,如网站名称,网站关键词等信息。
16、什么是局部变量和全局变量?函数内是否可以直接调用全局变量?
局部变量是函数内部定义的变量,其作用域是所在的函数。如果函数外还有一个跟局部变量名字一样的变量, 程序会认为它们两个是完全不同的两个变量。当退出函数的时候,其中的局部变量就同时被清除。 全局变量是定义在所有函数以外的变量,其作用域是整个php文件,但是在用户自定义的函数内部是无法使用的。 如果一定要在用户自定义的函数内部使用全局变量,那么就需要使用global关键字声明。 也就是说如果在函数内的变量前加上golbal来修饰,那么函数内部就可以访问到这个全局变量, 不仅可以利用这个全局变量进行运算而且可以对这个全局变量进行重新赋值。 全局变量还可以使用 $GLOBALS['var'] 来调用。
17、php中函数传递参数的方式有哪些?两者有什么区别?
按值传递和按地址传递(或按引用传递) (1)按值传递: 待传递的变量,与传递给函数之后的变量是存储在不同的空间中。所以函数体内对该变量值做的修改,不影响原本的变量值。 (2)按地址传递: 使用 & 符号,表明该参数是以地址的方式传递值。并不会将主程序中的指定数值或目标变量传递给函数,而是把该数值或变量的内存储存区块地址导入函数之中,所以函数体内的该变量和主程序中的该变量在内存中是同一个。函数体做的修改,直接影响到函数体外部的该变量的值。
18、字符串运算符“.”与算术运算符“+”有什么区别?
当“a”“b”之间使用.时认为是连字符。如果两者间是+的时候php会认为是一次运算。 1)如果+号两边的字符串是数字组成的,那么会将字符串自动转为整型; 2)如果+号两边是纯粹的字母,那么会输出0; 3)如果+号两边的字符串是以数字开头的,那么会截取字符串开头的数字,然后进行运算。
相关文章推荐
- The logging tag can be at most 23 characters, was 28 (EnterpriseUnixFTPEntryParser) less... (Ctrl+F1
- 编译php扩展
- 黄永成-thinkphp讲解-个人博客讲解26集
- php如何修改二维数组子数组的键值
- FileOutputStream和FileInputStream实现文件的存储操作
- thinkphp3.x中cookie方法的用法分析
- thinkphp3.x中display方法及show方法的用法实例
- yii2安装过程记录
- thinkphp3.x连接mysql数据库的方法(具体操作步骤)
- php 字符串函数
- yii 如何使用 CWebLogRoute 记录和调试变量
- thinkphp3.x自定义Action、Model及View的简单实现方法
- thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
- 关于php跨域cookie共享使用方法
- mac上启用tftp服务器
- yii2 rbac权限管理学习笔记
- [PPTP] PPTP Server On Ubuntu With Double Public IP
- SCCM TP4创建边界和边界组
- 图解Zend studio破解方法及步骤
- PHP: Local 和 Global 作用域