准备工作
安装XAMPP集成环境,启动apache。进入xampp安装目录下的htdocs目录,新建一个txt文件,重命名(F2)为以“.php”为扩展名的文件(比如test.php)。PHP语句写在<?php
和?>
之间。语句书写完毕,保存后,在浏览器中输入http://localhost:88/test.php
访问(端口号根据自己实际情况调整)即可。
<?php
echo '这是一个PHP文件';
?>
常量与变量
常量
常量与javascript中一样,常量用const标示:
const str = ‘this is string.’;//定义一个常量
在PHP中,常量是不允许重复赋值的,例如执行:
str = 'abcdefg';
报错
* * 错误信息
* Parse error: syntax error, unexpected '=' in
变量
PHP的变量以“$”开头,其用法与javascirpt中一致:
$str = 'this is string too.';
$str = 'abcdefg';
echo $str;//abcdefg
数据类型
四种标量类型:
- boolean
- integer
- float/double
- string
两种复合类型:
- array-数组
- object-对象
两种特殊类型:
- resource-资源
- NULL
两种打印方式:
echo 输出
var_dump 打印
$str='nihao';
echo $str;
/*
* var_dump()函数
* * 作用 - 打印变量的相关信息
*/
var_dump($str);
boolean
$boo = true;
echo $boo;//输出:1
var_dump($boo);//输出:bool(true)
$foo = fasel;
echo $foo;//输出:'',也即没有输出
var_dump($foo);//输出:bool(false)
integer
$integer = 100;
echo $integer;//100
echo '<br/>';
var_dump($integer);//int(100)
float/double
$f = 3.579;
echo $f;//3.579
echo '<br/>';
var_dump($f);//float(3.579)
string
单引号和双引号都表示字符串,但两种方式用法不同。在单引号中的字符串,用法与其他语言相同,但在双引号下的字符串,是可以识别串中的变量名的,也因为匹配变量,其效率低于单引号下的字符串。
数组
定义一个数组
直接量
$arr1=[1,2,3,4]; var_dump($arr1); $arr2=['jimaoshiwang','zhaomin','zhangwuji']; var_dump($arr2);
定义索引数组
格式: 数组名=arr( 索引值 => 值, 索引值 => 值, ... ); 示例: $arr1=arr( 0=>1, 1=>2, 2=>3 );
定义关联数组
格式: array( key(键) => 元素内容, key(键) => 元素内容, key(键) => 元素内容, ... ); 示例: $arr=array( '总理'=>'李克强', 'boss'=>'习大大' ); var_dump($arr);
类与对象
<?php
// 定义一个类foo - 类似于javascript的构造器
class foo{
// 定义一个方法do_foo()
function do_foo(){
echo "Doing foo.";
}
}
// 通过new关键字实例化一个对象
$bar = new foo;
// 通过$bar对象,调用do_foo()方法
$bar->do_foo();
?>
resource-资源
作用:用于保存外部资源的一个引用
使用场景:在文件上传中保存上传的文件
运算符
运算符基本与Javascript保持一致,字符串连接例外。
php中字符串连接使用”.”:
$zwj='zhangwuji';
$zzr='zhouzhiruo';
$str1=$zzr.' is '.$zwj.'\'s nvpengyou';//输出一个“'”要转义
echo $str1;//zhouzhiruo is zhangwuji's nvpenyou
循环
while循环
$i=0;
while($i<10){
echo $i++;
}
for循环
$arr = [1,2,3,4,5];
for($i=0;$i<5;$i++){
var_dump($arr[$i]);
}
foreach
foreach($arr as $i=>$value){
var_dump($i);
var_dump($arr[$i]);
var_dump($value);
echo '<br/>';
}
foreach是唯一与javascript中不同的循环,联系js中的for-in循环。
分支结构
与javascript几乎一致。
PHP预定义
预定义变量
- $_GET
- $_POST
- $_REQUEST:$_GET、$POST等
- $_FILE: 专用于文件上传
- $_COOKIE: 接收客户端保存的所有cookie数据