输出语句======================================================================
一、echo输出、常用
echo可以输出一个或者多个字符串,逗号隔开
使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
二、print输出
print只能输出一个字符串,成功输出则返回1
可以使用括号,也可以不使用括号: print 或 print()。
三、print_r()
可以把字符串和数字简单地打印出来,只能输出一个字符串,而数组则以括起来的键和值得列表形式显示,并以Array开头
四、var_dump()、常用
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
五、var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。
数据类型========================================================================
一、String(字符串):一个字符串是一串字符的序列
规则:任何文本放在单引号和双引号中
二、Integer(整型):一个没有小数的数字
规则:必须至少有一个数字、不能包含逗号或者空格、可以是正数或者负数
三、Float(浮点型):带小数部分的数字
四、Boolean(布尔型):true/false
通常用于判断
五、Array(数组)
数组可以在一个变量中存储多个值
array('volvo','bmw','toyota')
六、Object(对象)
对象数据类型也可以用于存储数据
对象必须声明
使用class关键字声明类对象
类是包含属性和方法的结构
<?php
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
七、Null(空值)
1、Null表示变量没有值
2、Null是数据类型为Null的值
3、Null值指明一个变量是否为空值,同时可用于判断数据空值和Null值的区别
4、也可以通过设置变量值为Null来清空变量数据
八、数据类型的获取与判断
1、获取类型gettype()
integer、double、string、array、object、null、unknown type
2、判断类型is_类型名()
is_numeric ( mixed var ): //检测变量是 否为数字或数字字符串
is_bool(): // 检测变量是否是布尔型
is_float(): // 检测变量是否是浮点型 和is_double,is_real()都一样的用法
is_int(): // 检测变量是否是整数is_integer() 一样的 用法
is_string(): // 检测变量是否是字符串
is_object(): // 检测变量是否是一个对象
is_array(): // 检测变量是否是数组
is_null(): // 检测变量是否为 NULL
3、如果是当前类型,则返回值是1,否则什么也不返回
九、类型的转换
1、对变量重写
<?php
$aa = 11;(原数据)
$aa = 'aa';(重写数据)
echo gettype($aa);//string
?>
2、函数:intval() floatval() strval()
< ?php
$str="123.9abc";
$int=intval($str); //转换后数值:123
$float=floatval($str); //转换后数值:123.9
$str=strval($float); //转换后字符串:"123.9"
?>
3、(数据类型)变量:(int) (bool) (float) (string) (array) (object)
< ?php
$num1=3.14;
$num2=(int)$num1;
var_dump($num1); //输出float(3.14)
var_dump($num2); //输出int(3)
?>
4、类型转换settype(变量名,类型)
<?php
$num=12.8;
$flg=settype($num,"int");
var_dump($flg); //输出bool(true)
echo "<br/>";
var_dump($num); //输出int(12)
?>
变量============================================================================
一、变量定义:变量是用于存储信息的“容器”
二、变量规则
1、$变量名=值
2、变量名必须以字母或者下划线开始
3、变量只能包含字母、数字和下划线
4、变量名是区分大小写的:$y 和 $Y 是两个不同的变量
三、变量作用域
定义:变量的作用域是脚本中变量可被引用/使用的区域。
分类:
1、局部变量(local):在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问
<?php
function test(){
$x = 0;
}
echo $x;//访问不到$x,报错
?>
2、全局变量(global):在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
错误写法:
<?php
$name = "why";
function changeName(){
$name = "what";
}
changeName();
echo "my name is " . $name . "<br/>";
?>
//执行代码的结果是:my name is why,而不是执行changeName()后显示what。分析原因,这是因为函数体changeName内$name变量被缺省设置为局部变量,$name的作用域就是在changeName内
修改第一次代码
<?php
global $name;
$name = "why";
function changeName(){
$name = "what";
}
changeName();
echo "my name is " . $name . "<br/>";
?>
//注意:不能在用global声明变量的同时给变量赋值。像global $name = "why"的使用方式是错误的。
定义全局变量后执行的结果仍然为my name is why,。原来,global的正确用法是:"在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过global引入进来。" 也就是说,当一个函数引用一个外部变量时,可以在函数内通过global来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来)
修改第二次代码
<?php
$name = "why";
function changeName(){
global $name;
$name = "what";
}
changeName();
echo "my name is " . $name . "<br/>";
?>
//这次的运行结果是:my name is what,说明global是起传递参数的作用,而并非使变量的作用域为全局
再次验证
<?php
$name = "why";
function changeName(){
global $name;
$name = "what";
}
function changeName2(){
$name = "where";
}
changeName();
changeName2();
echo "my name is " . $name . "<br/>";
?>
执行结果为:my name is what,如果在changeName2()中添加global $name,运行结果则是:my name is where。
综上,global的作用就相当于传递参数,在函数外部声明的变量,如果在函数内想要使用,就用global来声明该变量,这样就相当于把该变量传递进来了,就可以引用该变量了。
除了使用global参数定义外,还可以使用超全局变量$GLOBAL:
<?php
$name = "why";
function changeName(){
$GLOBALS['name'] = "what";
}
changeName();
echo "my name is " . $name . "<br/>";
?>
3、静态变量(static)
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,在第一次声明变量时使用 static 关键字
function test(){
static $x = 0;
echo $x;
$x++;
}
test();
test();
每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注:该变量仍然是函数的局部变量。
4、参数作用域(parameter)
参数是通过调用代码将值传递给函数的局部变量。
<?php
test(1);
function test($x){
echo $x+2;
}
echo $x;//取不到$x,报错
?>
四、对变量的一系列判断
1、isset()
判断变量是否已存在 如果有值 返回true 否则返回false
2、unset()
把变量删除(释放)掉
3、empty()
判断变量是否为空
4、is_null
判断变量是否为NULL
5、具体判断表
变量 empty is_null isset
$a=”” true false true
$a=null true true false
$a true true false
$a=array() true false true
$a=false true false true
$a=15 false false true
$a=1 false false true
$a=0 true false true
$a=”0” true false true
$a=”true” false false true
$a=”false” false false true
五、可变变量
一个可变变量获取了一个普通变量的值作为这个可变变量的变量名