搭建HTTP服务器
phpStudy介绍
phpStudy是一个PHP调试环境的程序集成包。 该程序包集成最新的Apache+PHP+MySQL,安装非常的简单
?
phpStudy的安装
安装phpStudy,解压双击安装(非中文路径),其它默认安装。
推荐就安装在默认的目录下,一定不能有中文,否则肯定启动不起来。
?
phpStudy的错误解决
如果phpStudy启动发生错误,参数下列几点。
为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。
PHP基础
PHP简介
文件以.php后缀结尾,所有程序包含在<?php 这里是代码 ?> 避免使用中文目录和中文文件名
php页面无法直接打开需要运行在服务器环境当中
php初体验
<?php ? ? echo "hello world"; ?>
输入中文乱码问题:如果使用echo输出中文,会乱码。
在php的语法中,末尾必须加分号,不然就报错了(最后一行可以不加分号)
<?php ? ? //content-Type:text/html;返回内容是一个HTML文档文本 ? ? //charset=utf-8 设置编码集 ? ? header("content-Type:text/html;charset=utf-8"); ? ? echo "hello world"; ? ? echo "<br/>"; ? ? echo "你是哪里人?"; ?>
变量
php是一门弱类型语法,变量的类型可以随意改变。 变量其实就是存储数据的容器
变量的命名规则
//1. 不需要关键字进行声明,变量在第一次赋值的时候被创建。 //2. 必须以$符号开始 //3. $后面的命名规则与js的变量命名规则一致。 $name = "小明"; echo $name;
数据类型
简单数据类型
字符串
$str = "小明"; echo $str;
整数
$num = 100; echo $num;
浮点型
$float = 11.11; echo $float;
布尔类型
$flag = true; //当布尔类型值为true时,输出1 echo $flag; $flag = false; //当布尔类型为false时,输出空字符串 echo $flag;
字符串连接符
//1. 在php中,+号只有算数的功能,并不能拼串 //2. 在php中,拼串使用. $name = "小明"; echo "大家好,我是" . $name . ",今年18岁";
php中的单引号与双引号
//1. 字符串的定义可以使用单引号,也可以使用双引号 $name = "小明"; $desc = '很帅'; //2. 双引号可以解析变量 //3. 单引号的性能会高于双引号(了解)
$str = '$name 很帅';? ? //$name 很帅 echo $str;
$str = "$name 很帅";? //小明?很帅 echo $str;
数组
在php中,数组分为两种,索引数组和关联数组
计算数组长度的方法: count(数组名);
索引数组(类似与JS中的数组)
$arr = array("张飞","赵云","马超"); echo $arr;//echo只能打印基本数据类型 echo $arr[0];//张飞
关联数组(类似与JS中的对象)
//属性名必须用引号引起来 $arr = array("name"=>"zhangsan", "age"=>18); echo $arr["name"];
输出语句
//1. echo 输出简单数据类型
//2. print_r 输出数据结构,一般用于输出复杂类型。
print_r($arr);//print_r是一个函数,不要忘记小括号
//3. var_dump 输出完整的数据结构,包括类型,一般用于精准调试
var_dump($arr);
二维数组
数组中的每个元素又是一个数组 二维数组的存取元素,需要两次访问,依次确定行和列$arr[x][y] ;
//索引数组
? ?$arr=[
? ? ? [1,2,3],
? ? ? [4,5,6],
? ? ? [7,8,9]
? ]; ?
? ?//取值
? ?echo $arr[2][2];
? ?//存储一个人信息
?
? ?$info=[
? ? ? ?"name"=>"zs",
? ? ? ?"age"=>100
? ];
?
? ?//存储一个班信息
? ?$infos=[
? ? ? [
? ? ? ? ? ?"name"=>"zs",
? ? ? ? ? ?"age"=>100
? ? ? ],
? ? ? [
? ? ? ? ? ?"name"=>"ls",
? ? ? ? ? ?"age"=>100
? ? ? ],
? ? ? [
? ? ? ? ? ?"name"=>"ww",
? ? ? ? ? ?"age"=>100
? ? ? ]
?
? ];
//取值
? ?echo $infos[1]["name"];
语句
判断语句
基本上来说,所有语言的if..else语法都是一样
$age = 17;
if ($age >= 18) {
?echo "终于可以看电影了,嘿嘿嘿";
} else {
?echo "哎,还是回家学习吧";
}
循环语句
遍历索引数组
$arr = array("张三", "李四", "王五", "赵六", "田七", "王八");
//获取数组的长度: count($arr)
for($i = 0; $i < count($arr); $i++) {
?echo $arr[$i];
?echo "<br>";
}
遍历关联数组
//遍历关联数组
$arr = array(
?"name"=>"zs",
?"age"=>18,
?"sex"=>20
);
foreach($arr as $key => $value) {
?echo $key . "=" . $value . "<br>";
}
函数
<?php
? ?header("content-Type:text/html;charset=utf-8");
? ?//php中函数的语法与js中函数的语法基本一样,不同点在于
? ?//1. 函数名大小写不敏感
? ?//2. 函数的参数可以设置默认值
? ?function sayHello ($name="周杰伦") {
? ? ? ?echo "大家好,我是$name";
? ? ? ?echo "<br>";
? }
? ?sayHello();//不传参数,会使用默认值
? ?sayHello("峰峰");//传参数,默认值不生效
?>
json的处理
json_encode();把数组转化为json对象
json_decode();把json转化为数组
注意:php中一般是将关联数组进行转化,前端才能收到进行处理
|