先来解释一下php中的两个常识:
- IP:表示的是网络上的一个终端
- port:标识的是终端上的一个应用程序
一、最简单的php程序:helloworld
<?php
echo '<h1>hello world</h1>';
echo '<br>';
echo '<h2>this is a php demo</h2>';
?>
echo:输出
二、基本语法
1.定义变量
- php中使用$定义变量,而且不用事先声明。
- 在函数中的变量是局部作用域,在函数外的是全局作用域
- 可以用global手动设置全局变量
<?php
header("Content-Type: text/html; charset=utf-8");
$num=3;
//作用域:全局作用域,局部作用域
$x=3;
$y=4;
function func(){
$x=10;
echo '变量为'.$x;
echo '全局变量x为'.$GLOBALS['x'];
global $y;
}
func();
?>
输出:变量为10 全局变量x为3
有汉字时记得添加utf-8编码头
2.变量类型
- 字符串
- 数字
- buer
- 数组:
- 关联数组
- 赋值数组
具体看代码,有详细注释:
<?php
header("Content-Type: text/html; charset=utf-8");
//字符串
$txt1='hello';
$txt2="world";
//用.进行字符串的拼接
$txt3=$txt1.' '.$txt2;
echo $txt3.'<br>';
//访问字符串中的字符
echo $txt1[4];
//得到字符串长度
echo'<br>';
echo strlen($txt1);
//取得某个子串在字符串中的位置
echo'<br>';
echo strpos($txt3,'llo');
//数字
$int=3;
$float=3.3;
$bool=true;
//数组:
//1.数值数组,与JS中数组是一模一样的
$numbers=array(1,2,3,4,5);
echo'<br>';
echo $numbers[2];
//2.关联数组,与js中的对象相似
$person=array("name"=>"xiaohong","age"=>20);//数组赋值
echo'<br>';
echo $person['name'];//输出对应的值
echo '<br>'
$person['name']='xiaolv';//修改值
echo $person['name'];
?>
3.循环
- while
- do while
- for
- for each
我们主要说foreach
<?php
$x=array('one','two','three');
$person=array('name'=>'xiaoA','age'=>21,'gender'=>'male');
foreach($x as $value){//数值数组
echo $value.'<br>';
}
foreach($person as $key=>$value){//关联数组
echo $key.':'.$value.'<br>';
}
?>
三、动态网页原理
访问php构建的网站的处理流程:
1. 浏览器向web服务器发送一个请求
2. web服务器将请求提交给嵌入到服务器中的php引擎
3. php引擎处理代码,在很多情况下,代码会查询数据库
4. 服务器会将完成的页面返回给浏览器
一个简单的交互例子:
php:
<?php
$person =array('name'=>'xiaoA','age'=>21,'gender'=>'male'
,'exes'=>array('xiaoB','xiaoC','xiaoD')
);
$arg=$_GET['arg'];
$resp=$person[$arg];
echo json_encode($resp);
?>
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="../jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$.get('./05person.php',{arg:'exes'},function(resp){
alert(resp);
})
</script>
</head>
<body>
</body>
</html>