PHP
2018-08-05 23:47 李鑫鑫 阅读(132) 评论(0) 收藏 举报专业技能
PHP
一、服务器安装
(一) PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
二、环境配置
三、分界标示符
(一) PHP分界标示符确定PHP脚本的开始和结束位置,在PHP语言中有四种不同风格的分界标示符可以让PHP代码嵌入到HTML代码中,分别如下 :
- PHP标准分界符:<?php ?>
- PHP简写分界符:<? ?>
- <% %>
四、标识符/关键字/数据类型
(一) 标识符:由字符,数字,下划线组成,首字母必须是字符或下划线。
- 变量以$开头。 $score = 10;
- PHP是区分大小写的
- 语句以分号结束
(二) 数据类型
- 字符串(string):字符串是字符序列,比如:”hello wrold”.
字符串可以是引号内的任何文本,可以使用单引号或双引号。 - 整数(integer):整数是没有小数的数字。
1) 整数规则:
a) 整数必须有至少一个数字(0-9)
b) 整数不能包含逗号或空格
c) 整数不能有小数点
d) 整数正负均可
e) 可以用一种格式规定整数:十进制、十六进制(前缀是0x)或八进制(前缀是0)
2) 浮点数(double):是有小数点或指数形式的数字。
3) 布尔(boolean):是true或false
a) 常用于条件测试。
4) 数组(array):在一个变量中存储多个值。
5) 对象(object):是存储数据和有关如何处理数据的信息的数据类型。
6) NULL:特殊的NULL值表示变量无值。
a) NULL值标示变量是否为空。也用于区分空字符串与空值数据库。
定义文件头,防止出现乱码:
//定义文件头
header("content-type:text/html;charset=utf-8");
五、 函数
(一) PHP的真正力量来自它的函数:它拥有超过1000个内建的函数。
(二) PHP用户定义函数
- 除了内建的PHP函数,我们可以创建我们自己的函数。
- 函数是可以在程序中重复使用的语句块。
- 页面加载时函数不会立即执行。
- 函数只有在被调用时才会执行。
(三) 在PHP创建用户定义函数
- 用户定义的函数声明以function开头:
- 语法
function fnName(){
被执行的代码;
}
//函数名能够以字母或下划线开头(而非数字)。
//函数名对大小写不敏感。
(四) PHP函数参数
- 可以通过参数向函数传递信息。
- 参数被定义在函数名之后,括号内部。可以添加任意多参数,只要用逗号隔开即可。
(五) PHP函数的返回值
- 如需使函数返回值,使用return 语句
六、 数组/对象
(一) 数组:能够在单独的变量名中存储一个或多个值,并且能够通过引用下标号来访问某个值。
(二) 在PHP中创建数组
- 在PHP中,array()函数用于创建数组:
array(); - 在PHP中,有三种数组类型:
1) 索引数组:带有数字索引的数组
2) 关联数组:带有指定键的数组
3) 多维数组:数组嵌套数组
(三) 索引数组
- 索引是自动分配的(索引从0开始):
$cars = array(“Volvo”,”BMW”,”BYD”); - 手动分配索引:
$cars[0] = “Volvo”;
$cars[1] = “BMW”;
$cars[2] = “BYD”; - 获得数组的长度:count()函数
1)
Count()函数用于返回数组的长度(元素数):
<?php
$cars = array(“Volvo”,”BMW”,”BYD”);
echo count($cars);
?>
(四) 关联数组:使用分配给数组的指定键的数组。
- $age = array(“zhangsan” => “18”,”lisi” => “19”,”wangwu => “20”);
- $age [“zhangsan”]
= “18”;
$age[“lisi”] = “19”;
$age[“wangwu”] = “20”; - 数组的打印 print_r(数组名)
(五)
一、页面输出
(一) 使用print
- 只能输出一个字符串,并始终返回1
1)
<?php
print “<h2>PHP is fun!</h2>”;
print “Hello world!<br/>”;
print “I’m about to learn PHP!”;
?>
(二) 使用echo
- 能够输出一个以上的字符串
1)
<?php
echo “<h2>PHP is fun!</h2>”;
echo “Hello world!<br/>”;
echo “This”, “ string”,” was”,” made”,” with multiple parameters.”;
?>
(三) 注:echo比print稍快,因为它不返回任何值。
二、生成动态页面
(一) PHP作为一个动态网页编程语言,它不仅能编写后台程序。同时也具备编写动态网页的能力,跟JSP一样,这是它们想当年流行起来的最重要的原因,没有之一。
(二) 什么叫动态网页呢?
- 在很久很久以前,前后端不分离的年代,那个时候还没有所谓的前端工程师。服务器如何将它的数据以网页的形式展示给用户呢?
1)
例如我们的页面上需要展示四个商品类别如图:
但这些类别信息,是服务器从数据库查询出来的。
最终服务器返回给浏览器的静态网页应该是这样子的:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
*{padding:0;}
.menulist{
list-style:none;width:80px;border:1px
solid #ddd;border-bottom:none;
}
.menulist li{
font-family:"微软雅黑";border-bottom:dashed 1px
gray;padding:5px;
}
</style>
</head>
<body>
<ul
class="menulist">
<li>数码产品</li>
<li>生活家居</li>
<li>母婴用品</li>
<li>厨房用具</li>
</ul>
</body>
</html>
- PHP写出来是这个样子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
*{padding:0;}
.menulist{
list-style:none;width:80px;border:1px solid #ddd;border-bottom:none;
}
.menulist li{
font-family:"微软雅黑";border-bottom:dashed 1px gray;padding:5px;
}
</style>
</head>
<body>
<?php
//假设我们从数据库取得了数据,存入了一个数组当中
$arr = array("数码产品","生活家居","母婴用品","厨房用具");
?>
<ul class="menulist">
<?php
for($i = 0; $i < count($arr);$i ++){
?>
<li><?php print $arr[$i];?></li>
<?php }?>
</ul>
</body>
</html>
仔细观察,这里所有紫色的部分,全部为PHP的代码,而这些代码都使用了<?php……?>包裹起来。最重要的是,PHP的代码跟HTML的代码混合了,它的大概原理如图所示:
这样一来,后台的开发人员,就可以像写后台程序一样的写网页,岂不是很方便。
随着网页交互的场景越来越多,随着用户体验的重要性逐步提升,网页上的工作量变得越来越大了。因为页面不仅要求越来越美观,同时页面上的各种交互特效也越来越丰富(JS或Flash);
可是你再看看PHP这样的动态网页,对于一个特效要求极高的网站,它可维护性好吗?它便于网页重构吗?它代码可读性强吗?NO!这些优点全都没有。
于是那几年开始出现了一个叫做RIA的名词:丰富的互联网应用程序。
传统的动态网页已经很难实现RIA了,或者说实现它的成本非常高。那么 它需要借助Flash的力量,或者JS的力量,于是人们开始慢慢的将前后端进行分离开来。后台语言只负责后台程序接口的编写。
而一部分人只负责页面以及交互特效的完成。而网页需要的动态数据,可以通过ajax来获取。
这样一来,一个负责编写页面的人,即使他不懂后台语言,也能完成复杂的前端工作。因为网页上再也不会出现后台代码了。
注:有一个结论大家必须要搞清楚,PHP是后台语言,只能在特定环境里运行,浏览器是执行不了的。
三、 解析JSON数据
(一) 现在JSON格式在web开发中越来越受重视,特别是在使用ajax开发项目的过程中,经常需要将json格式的字符串返回到前端,前端解析成JS对象(JSON)
(二)
Eval()方法:解析JSON数据的最常用方法是使用javascript的eval()方法,代码如下:
function toJson(str){
var json = eval(‘(‘ + str + ‘)’);
return json;
}
该方法存在性能和安全方面的问题,不建议使用。
(三)
JSON.parse()方法
这种方法只支持IE8/Firefox3.5+/Chrome4/Safari4/Opera10以上版本,这些浏览器都已经接近W3C标准,默认实现了toJSON方法。代码如下:
function toJson(str){
return JSON.parse(str);
}
四、
使用JSON生成动态页面
<body>
<p>姓名:<span></span></p>
<p>年龄:<span></span></p>
<p>身高:<span></span></p>
<p>电话: <span></span></p>
</body>
<script type="text/javascript">
window.onload
= function(){
var
json = {"name":"zhangsan",
"age":
18,
"height":175,
"phone"
: 13111111111
};
var
oSpan = document.getElementsByTagName("span");
oSpan[0].innerHTML
= json.name;
oSpan[1].innerHTML = json.age;
oSpan[2].innerHTML = json.height;
oSpan[3].innerHTML = json.phone;
};
</script>
应用: php接收表单数据
浙公网安备 33010602011771号