变量与数据类型
php变量
-
变量的定义: PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的
//$变量名 = 值 $num = 1;
-
变量的输出打印
- echo()函数
- var_dump()函数
- print_r()函数
- print()函数
- 注意,php输出时用.可以进行多个变量与字符串连接输出,Java用的是+连接输出
1 echo语句 :当输出数组时只会输出Array,可以输出多个
2 print_r()函数 :格式化输出,适合输出数组和对象,仅仅输出一个
3 var_dump()函数 :同时输出类型和值,可输出多个。
4 print()函数:打印字符串
$num = 10;
$str = "dzp";
echo ($num.$str);//10dzp
var_dump($num,$str);//int 10 string dzp
print ($str);//dzp
print_r($num);//10
数据类型
接下来我们来简单分析下php的基本数据类型。
- 数据类型
- Integer(整形)
- Boolean(布尔型)
- Float(浮点型)
- String(字符型)
- Array(数组)
- Object(对象)
Boolean类型
bool类型取值只有两个true和false,php的的bool取值不区分大小写字母。
$num1 = True;
$num2 = false;
var_dump($num1,$num2);//bool true bool false
Integer类型
php的整形表示主要有以下几种
- 10进制:正常写的数字1234
- 2进制:以数字0b开头的,且只能用数字0或者1组成
- 8进制:以数字0开头的,且只能用数字0-7组成
- 16进制:以0x开头的,且只能用数字0-9和字母a,b,c,d,e,f组成的
$num1 = 10;//10进制
$num2 = 012;//8进制
$num3 = 0b01;//2进制
$num4 = 0x19;//16进制
var_dump($num1)//int 10
var_dump($num2)//int 10
var_dump($num3)//int 1
var_dump($num4)//int 25
Float类型
浮点型(也叫浮点数 float,双精度数 double 或实数 real)
$num1 = 10.1;
var_dump($num1)//float 10.1
String类型
String类型就是字符串类型,在php里创建String类型的数据有4种格式
- 双引号格式:"abc"
- 单引号格式:'abc'
- heredoc格式:
- <<<"自定义名称" 你的字符串 自定义名称
- nowdoc格式:
- <<<'自定义名称' 你的字符串 自定义名称
$str1 = "abc";
$str2 = 'def';
$str3 = <<<"str3"
ghi
str3;
$str4 = <<<'str4'
opk
str4;
var_dump($str1);//string abc
var_dump($str2);//string def
var_dump($str3);//string ghi
var_dump($str4);//string opk
String类型注意点
1 当用单引号表示字符串时,字符串里面出现了单引号需要用反斜杠\进行转义表示,否则出错
2 当用双引号表示字符串时,字符串里面出现了双引号需要用反斜杠\进行转义表示,否则出错
3 双引号表示的字符串可以对字符串里面存在的变量进行解析,而单引号不行
4 heredoc表示的字符串和双引号表示的字符串一摸一样,只是多加了个功能就是字符串里面有双引号不用进行转义
5 nowdoc表示的字符串和单引号表示的字符串一摸一样,只是多加了个功能就是字符串里面有单引号不用进行转义
$num1 = 10;
echo ('abc\'d\'e');//abc'd'e
echo ("abc\"d\"e");//abc"d"e
$strH = <<<"str1"
"abcde{$num1}"
str1;
var_dump($strH);//string "abcde10"
$strN = <<<'str1'
'abcde{$num1}'
str1;
var_dump($strN);//string 'abcde{$num1}'
Array类型
Array类型也叫数组类型,我们后面会专门讲解数组,此处只是简单的列出定义数组变量4种格式
- Array(data1,data2,data3);
- Array(key1=>value1,key2=>value2);
- [data1,data2,data3];
- [key1=>value1,key2=>value2];
$num1 = Array(1,2,3);
$num2 = Array(1=>"dzp",2=>"bbb",3=>"sss");
$num3 = [1,2,3];
$num4 = [1=>"dzp",2=>"bbb",3=>"sss"];
print_r($num1);//0=>1 1=>2 2=>3
print_r($num2);//1=>dzp 2=>bbb 3=>sss
print_r($num3);//0=>1 1=>2 2=>3
print_r($num4);//1=>dzp 2=>bbb 3=>sss
Object类型
Object类型就是面象对象里面的对象类型了,这个我们也会在后面着重讲解,此处只是简单的提下。
class Stu
{
public $age;
public $name;
public function __construct(){
$this->name = "dzp";
$this->age = 20;
}
public function getInfo(){
echo "age: ".$this->age." name: ".$this->name;
}
}
$s1 = new Stu();//创建对象
$s1->getInfo();//age:20 name: dzp