从今天开始学习 PHP,首先简单了解下 PHP 语言是什么?
PHP:即“超文本预处理器”,即 Personal Home Page 的缩写。是一种通用开源脚本语言,运行在服务器端执行的脚本语言。
一、PHP 的变量类型
php 的变量类型有八种:
1.标量
- 1.整型:int
- 2.字符串:string
- 3.布尔型:boolean bool true false
4.浮点型:float double
2.复合型
1.数组:array
2.对象:object
3.特殊型
1.资源:resourse
- 2.Null:特殊的 NULL 值表示一个变量没有值,NULL 类型唯一的值就是 NULL
a. 将变量直接赋值为 NULL
b. 声明的变量尚未被赋值
c. 被 unset()函数销毁的变量
代码实例
<?php
/**
* 标量
*/
// int整型:
$int = 1000;
// 字符串型:
$str = 'hello,php.cn中文网';
// 布尔型:
$bool = true;
$bool = false;
// 浮点型:
$float = 11.11;
/**
* 复合型
*/
//数组:
$arr = ['admin','admin@qq.com',123456];
//对象:
class myFriend {
public $name;
public $age;
public $gedder;
//创建一个myFriend类
}
$jock = new myFriend();//创建一个对象
/**
* 特殊型
*/
//resourse资源
$Doc = fopen("log.doc", "rw");
var_dump($Doc);
fclose($Doc);
//Null
$time = null;//直接赋值null
$team;//申明变量未赋值
unset($time);//释放变量
?>
二、PHP 的打印输出
(一)echo打印:可以输出字符串、输出变量、同时输出多个字符串
<?php
echo 'hello word';
?>
输出结果:hello word
<?php
$name = 'php中文网';
echo $name;
?>
输出结果:php中文网
<?php
$workTime = '8:30';
echo '早上'.$workTime.'上班';
?>
输出结果:早上8:30上班
(二)print打印:print和print()没有区别,同样只能输出单一数据不能打印数据类型结构,也不能输出复合数据类型的数据
1.print打印
<?php
print '我们都爱PHP编程!'
?>
输出结果:我们都爱PHP编程
2.print_r函数打印:print_r()函数既能输出字符串等单一数据又能输出数组等多种数据 但是不能输出数据类型。print_r()只能接收一个参数输出,当传入多个参数时不会输出任何信息
print_r()输出同样有返回值当输出成功会返回true,失败就会返回false,因此它也可以在表达式中
<?php
$array = ['admin','admin@admin.com',123456];
print_r ($array);
?>
输出结果: Array ( [0] => admin [1] => admin@admin.com [2] => 123456 )
(三)var_dump()输出打印:
var_dump()函数用于输出变量,既能输出字符串等单一的数据类型,同时也能输出复合数据类型的数据,而且还能打印出数据类型结构
var_dump()函数在输出时没有返回值,因此不能在表达式里面使用
<?php
$name = array("PHP","JAVA","C++");
var_dump($name);
?>
输出结果:array(3) { [0]=> string(3) “PHP” [1]=> string(4) “JAVA” [2]=> string(3) “C++” }
三、PHP 的传值赋值和引用赋值,及区别
实例代码分析:
<?php
$a = 10;//将常量值赋给变量$a,会为a分配一个内存空间
$b = $a;//$a赋值给变量$b,copy了一份副本,$b也分配了一个新的内存空间
$c = &$a;//$c引用$a的值,是不会为$c另外分配内存空间,因为$c和$a是共用一份内存空间
?>
总结:
传值赋值是将变量的值复制出一份新的值(值是一样的),只是在内存中出现两份不同的内存空间。将新值内存空间地址赋值给新的变量名字。修改两个变量的值时互不影响
引用赋值是将变量的引用复制出来一份(新的引用还是指向原来的值)