PHP课程

背景:大三下半学期,以了解为主,也简单回顾一下编程题思路。(省略很多之前学过的知识)
(实时更新)

目录

  • 1. 概述
    • 1.1 web简单基础知识
      • 1.1.1 C/S、B/S
      • 1.1.2 URL(统一资源定位器)
      • 1.1.3 网页分类
    • 1.2 php简介
      • 1.2.1 Web应用程序平台
      • 1.2.2 特点
      • 1.2.3 主要集成环境
        • 1.2.3.1 安装运行WAMPServer
  • 2. PHP基础
    • 2.0 php四种标记
    • 2.1 标识符、数据类型
      • 2.1.1 常量定义
      • 2.1.2 变量定义
      • 2.1.3 数据类型
    • 2.2 变量数据类型转换
      • 2.2.1 强制类型转换
      • 2.2.2 自动类型转换
    • 2.3 流程控制语句
      • 2.3.1 选择
      • 2.3.2循环
    • 2.4 函数
      • 2.4.1 函数的定义及调用
      • 2.4.2 函数的返回值
      • 2.4.3 作用域
      • 2.4.3.1 预定义变量
    • 2.5 数组
  • 5. 实验
    • 5.3 实验三 数组
      • 5.3.1 question1
      • 5.3.2 question2
      • 5.3.3 question3
      • 5.3.4 question4
      • 5.3.5 question5
    • 5.4 面向对象
      • 5.4.1 question1
      • 5.4.2 question2
      • 5.4.2 question3![在这里插入图片描述](https://img-blog.csdnimg.cn/20200519170501262.png)
      • 5.4.4 question4

1. 概述

PHP广泛用于动态网站开发
B/S:
浏览器端:html+css+Javascript
服务器端:PHP+MySQL

1.1 web简单基础知识

1.1.1 C/S、B/S

  1. C/S:Client/Server:客户机/服务器端交互
  2. B/S:Browser/Server:浏览器/服务器端交互

1.1.2 URL(统一资源定位器)

唯一标识位置,以便浏览器可以访问到
网络协议+web服务器主机名+端口号+资源名

http://www.itcast.cn:80/index.html

1.1.3 网页分类

静态网页
动态网页

1.2 php简介

PersonalHomePage
php是一种运行于服务器端的脚本语言,Web主流
可嵌入到Html文档中执行

1.2.1 Web应用程序平台

PHP+Linux+Apache+MySql(LAMP)
课程使用Wamp(Windows)

1.2.2 特点

  1. 开源
  2. 跨平台
  3. 面向对象
  4. 支持多种数据库
  5. 快捷

1.2.3 主要集成环境

  1. XAMPP
  2. PHPWAMP(课程使用WAMP)
  3. phpstudy

1.2.3.1 安装运行WAMPServer

安装基本无脑操作即可,仅需注意带个Mysq5.7
安装完成后启动
端口号改个8080,均可自己定,重启,访问 http://localhost:8080/
PHP课程_第1张图片在这里插入图片描述
使用:
在安装目录下找到www文件夹,编写文件,在浏览器端运行即可。在这里插入图片描述

2. PHP基础

2.0 php四种标记

  1. 标准标记(最常用,服务器不可禁用)
  2. 短标记(简单,必须在配置文件php.ini中启用short_open_tag选项)
  3. ASP标记(same as 短标记,启用asp_tags选项)
  4. SCRIPT标记(类JavaScript的标记)
    tip:只有标准标记和script标记对任何配置都有效
//1.标准标记  
 echo "HelloWorld"; ?>

//2.短标记 
 echo "HelloWorld"; ?>

//3.ASP标记 <% +……+ %>
<% echo "HelloWorld" %>

//4.script标记 
<script language="php"> echo "HelloWorld" </script>

2.1 标识符、数据类型

2.1.1 常量定义

声明常量格式:

bool define(string $name,mixed $value [,bool $case_insensitive = false])

//e.g.:

define( "HUADE", "Hello hd",$case_insensitive = false);

说明: $name 和 $ v a l u e value value 必选、后面那个($case_insensitive)用来表示是否对大小写敏感,默认为 false。

2.1.2 变量定义

变量定义赋值同时进行(PHP是一种弱语言,不需要显式声明)
定义(即加个美刀符):


//定义:$+变量名
$number = 66;
?>

2.1.3 数据类型

  1. 标量类型:boolean、Integer、float、string
  2. 复合类型:array(数组)、object(对象)
  3. resource(资源)
  4. NULL

2.2 变量数据类型转换

2.2.1 强制类型转换

只需要在变量前面加一个小括号,并把目标类型填写在括号中即可实现。
e.g.:(string)$miemie

2.2.2 自动类型转换

转换规则就不讲了

  1. 转为布尔型
  2. 转为整型
  3. 转为字符型

2.3 流程控制语句

2.3.1 选择

传统三种没啥不同:

  1. if
  2. if-else
  3. swich

2.3.2循环

  1. while
  2. do-while
  3. for

2.4 函数

2.4.1 函数的定义及调用

使用function关键字定义
tip: php中函数名不区分大小写

//定义
function 函数名([参数1,参数2,....]){
     
	函数体;
}
//调用
函数名([参数1,参数2,.....])

2.4.2 函数的返回值

和别的语言一样,return
举个栗子吧


function sum($a,$b){
     
	return $a+$b;	
}
echo sum(23,96);

?>

2.4.3 作用域

如果希望在函数内部使用函数外的变量,需要在函数内部使用关键字global修饰变量

2.4.3.1 预定义变量

$GLOBALS:它是一个包含了全部变量的全局组和数组。变量的名称就是数组的键。

2.5 数组


// 定义一个随机的数组
$a = array(9,8,5,6,2);
// 第一层可以理解为从数组中键为0开始循环到最后一个
for ($i = 0; $i < count($a) ; $i++) {
     
  // 第二层为从$i+1的地方循环到数组最后
    for ($j = $i+1; $j < count($a); $j++) {
     
     // 比较数组中两个相邻值的大小
        if ($a[$i] > $a[$j]) {
     
            $tem = $a[$i]; // 这里临时变量,存贮$i的值
            $a[$i] = $a[$j]; // 第一次更换位置
            $a[$j] = $tem; // 完成位置互换
        }
    }        
}
echo '
';
var_dump($a);
echo '
'
;

5. 实验

5.3 实验三 数组

5.3.1 question1

PHP课程_第2张图片


	$cars = array("Benz","BWM","Jili");
	$chang = count($car);
	for($i=0;$i<=$chang;$i++){
     
		echo $cars[$chang];
	}
?>

5.3.2 question2

PHP课程_第3张图片PHP课程_第4张图片
PHP课程_第5张图片PHP课程_第6张图片

5.3.3 question3

在这里插入图片描述


	function BubbleSort($x){
     
		$temp = 0;
		$len = count($x);
		for($i=0;$i<$len-1-$i; $j++){
     
			for($j=0;$j<len-1-$i;$j++){
     
				if($x[$j]>$x[$j+1]){
     
				$temp = $x[$j];
				$x[$j] = $x[$j+1];
				$x[$j+1] = $temp;
				}
			}
		}
		return $x;
	}
	$arr = array(9,8,3,5,2);
	echo "
";
	print_r(BubbleSort($arr));
	echo "
"
; ?>

5.3.4 question4

PHP课程_第7张图片


$arr = array(2,3,5,8,9);
function search($x,$y){
     
	$flag = false;
	for($i=0;$i<count($x);$i++){
     
		if($y == $x[$i]){
     
			echo "ok find the value, index id $i";
			$flag = true;
		}
	}
	if(!$flag){
     
		echo "can not find this";
	}
}
echo search($arr,8)
?>

5.3.5 question5

PHP课程_第8张图片



?>

5.4 面向对象

5.4.1 question1

PHP课程_第9张图片

5.4.2 question2

PHP课程_第10张图片

5.4.2 question3在这里插入图片描述


	public class Computer{
     
		private $x,$y,$z;
		function __construct($x,$y){
     
			$this->x=$x;
			$this->y=$y;
		}
		function Jia(){
     
			$z=$this->x+$this->y;
			return $z
		}
		function Jian(){
     
			$z=$this->x-$this->y;
			return $z
		}
		function Cheng(){
     
			$z=$this->x*$this->y;
			return $z
		}
		function Chu(){
     
			$z=$this->x/$this->y;
			return $z
		}
	} 
?>

5.4.4 question4

PHP课程_第11张图片


	public class Goods{
     
		private $name,$price;
		function __construct($name,$price){
     
			$this->name = $name;
			$this->price = $price;
		}
		function getName(){
     
			echo "GoodsName".$name;
		}
		function getPrice(){
     
			echo "GoodsPrice".$price;
		}
	}
	public class Books extends Goods{
     
		function __construct($name,$price,$author,$publisher){
     
			parent::__construct($name,$price);
			$this->author = $author;
			$this->publisher = $$publisher;
		}
		function getName(){
     
			echo "BookName".$this->name;
		}
	}
?>

你可能感兴趣的:(自留,php)