开启我的PHP学习之旅
第二课
LAMP:
Linux
apache
ngix
PHP
第三课
搭建server方式:
1.集成安装环境
XAMPP软件包:www.apachefriends.org
2.单独配置
第四课
XAMPP
包括了执行站点的几个必须的套件
1.apacheserver
2.PHP解释器
3.Mysql数据库
apache:
path:xampp的安装文件夹
文件夹:path/xampp/apache
mysql:
文件夹:path/xampp/mysql
PHP:
文件夹:path/xampp/php
1.XAMPP的启动
2.XAMPP的退出
3.apache的启动和关闭
4.mysql的启动和关闭
5.改动apache的默认port
1.通过xampp的面板
2.通过更改配置文件
第五课
PHP程序编写规则:
1.编写的PHP文件,以php作为后缀
2.PHP代码必须凡在<?
php 和?>之间
3.在PHP中。每条语句必须以分号结束(最后一行语句能够不要)
书写规则
2.怎样布置我们的PHP代码
1.将PHP代码布置到apacheserver中指定的一个文件夹,在xampp这个
集成软件的文件夹是:path/xampp/htdocs这个文件夹下
通常我们一个站点有多个网页,而为了更好的管理多个网页,我们通常
使用目录进行归类
目录名:bdqn_php_basic(project名能够自己定义)
path指的是xampp的安装文件夹
注意:
1.程序部署的文件夹是由apache的配置文件定义的
配置文件:apache/conf/httpd.conf
配置的选项:DocumentRoot"D:/xampp_2/htdocs"
DocumentRoot "D:/xampp/htdocs"
<Directory "D:/xampp/htdocs">
通过http://localhost:80/bdqn_php_basic/first_php.php 进行我们第一个网页的訪问
第六讲:PHP站点执行的基本原理
1.我们创建了一个first_php.php的文件,而且在文件中面写了一行PHP代码
2.我们把这个first_php.php这个文件部署到了xampp apacheserver之中
部署地址:apache配置文件httpd.conf中DocumentRoot指定文件夹中
3.在浏览中去訪问
浏览器和server的关系
B端
S端
http://localhost:80/bdqn_php_basic/first_php.php 请求-------------------> http协议
HTTP:超文本传输协议
client通过URL(统一资源定位符)(网址)找到server的
网址在HTTP协议中被称为URL
URL解析:
http://www.baidu.com
(server的Internet地址。即域名)
http://localhost:80/bdqn_php_basic/first_php.php
第三方存在例如以下一张表
域名 IP
baidu.com
212.21.8.4(一台计算机在互联网上的唯一IP地址)
完整的URL,应该包括port,http协议默认port是80port
查看相应port是否有相应的服务
作用:确保httpclient和httpserver之间,准确无误的传递数据
第七课
第二章 PHP变量和数据类型
2.1 课程 PHP基础语法
什么是语法
语:语言 人类语言。早于计算机语言的出现
事实上语法,在開始的时候,是用来定义人类语言的
PHP基本的语法:
1.PHP的代码,位于<?php>和?>之间
2.PHP语言能够嵌入到HTML代码中
3.PHP的指令分隔符; PHP须要在每一个指令的后面使用分号结束
java。php,C语言。语句都分成两种:
1.流程控制语句:
if(){},while(){},for(){}
2.全部的功能运行语句
echo'字符串';
substring($str,0,3);
4.PHP程序的凝视
/* 凝视 */
/**
*这里的凝视
*/
//凝视
#凝视
<!-- 凝视 -->
5.关于PHP中空白符的使用
空白符有哪些:
1.空格
2.Tab制表符
3.换行符
使用:提高程序可读性
什么时候使用换行:
1.在两个”功能运行语句“之间,须要换行
2.定义类的时候 class Person(须要换行)
...
2.2 PHP的变量和常量
作用:
用于暂时的存储数据的容器
1.以$開始。后面紧跟变量的名称
a.变量名最好是见文知意
2.PHP中变量名是区分大写和小写的
3.PHP变量的命名规则
PHP是弱类型的语言,所以说。我们在声明的变量的时候。能够
不指定数据类型
PHP变量规则:
1.变量以字母或者下划线开头
2.变量仅仅能由字母
3.不能使用keyword作为变量名
1.变量定义
1.1 传统变量的定义
1.2 可变变量的定义
2.变量的传递
2.1 按值传递
2.2 引用传递
2.3 PHP的数据类型-概述
什么是数据类型:
和变量有关系。是用来描写叙述变量的属性
$price
$name
数据类型,在PHP里面,是用来描写叙述变量的值的类型
数据类型,决定了变量在内存中的分配方式
PHP的数据类型 和 JAVA的数据类型有什么不同
1.PHP是弱类型的语言
$price = 23.5
$name = 'PHP从入门到精通'
2. JAVA强数据类型语言
int age = 18;
string name = 'PHP';
float price = 23.5;
PHP基本数据类型:
字符串:string
小数:faloat
整数:int
逻辑型:boolean
复合类型
数组: //存储一个系列的图书的名称 array()
对象:
特殊的数据类型:
NULL:当定义一个变量。我们没有进行初始的时候,系统会给它一个默认值NULL
资源类型
比如:数据库类的连接(第三方资源)
Callback
2.4 PHP基本数据类型-整型(int)
PHP是弱类型语言
PHP整型的支持
1.支持十进制
$age = 18;
2.支持十六进制 0-9 A B C D E F
$temp = 0x55AB;
3.支持8进制 0-7
$temp = 0755==========> 7*8^2 + 5*8^1 + 5*8^0
4.支持二进制
$temp = 0b101;
在PHP中。支持最大的型是多少?
最大整数:2^31 4字节 有一位符号位
最小整数:-2^31-1
PHP不支持无符号型整数
2.5 PHP的布尔型数据结构
布尔类型是用来存储真假的数据类型
是用来描写叙述变量值为真或者假的情况的
keywordtrue,false 不区分大写和小写
3.使用场景
1.流程控制语句
if($is_boy)
{
}
2.三运算符
$a == $b ? 'true':'false';
2.6 PHP基本数据类型----浮点类型
小数 == 浮点类型
浮点数的精度
10进制小数。转换成2进制小数的问题
比如:
10.7
步骤:
1.先转换十进制整数部分
//十进制转二进制:除2取余倒序
10 -------> 1010
2.再转换十进制小数部分
// 十进制小数部分乘2取整数部分。顺序排列
0.7 ------>1 01100 01100 01100 ...
在这里。计算机会自己主动依据平台和PHP执行的解释器,自己做小数的保留
3.两部分相加
10进制小数,转2进制小数时。有时候不能用2进制
准确表示10进制的值
浮点数的最大值:1.8e308
2.7 PHP基本数据类型----字符串
用来保存字符串的一种类型:
在PHP中有四种方式能够声明一个字符串
1.使用‘’声明
2.使用 “”声明
3.heredoc
4.nowdoc
单引號和双引號的差别:
2.8 数据类型之间的转换
1.自己主动类型转换(程序维护)
程序在遇到不同类型,程序会进行自己主动的转换,转换关系例如以下:
整形 《------
字符串
|
|
|
V
浮点型 《-------
boolean
2.强制类型转换(程序来维护)
(int)
(string)
(bool)
(array)
2.9 PHP的数据类型--常量
常量:
指的是在程序的运行中无法改动的值
定义常量:使用函数define(。)
define(,);
比如
define('PI',3.1415926)
推断常量是否定义:使用函数defined()
第三章 PHP的运算符
3.1 运算符简单介绍
PHP支持的运算符
算术运算符:加减乘除
赋值运算符
x = 2; = 称为运算符
比較运算符
>, <,==。,>=,<=
逻辑运算符
&& || ! or and
3.2 赋值运算符
使用:
将一个值。赋值给还有一个变量
3.3PHP运算符-算术运算符
+
-
*
/:3/2 == 1.5
% :
求模的两端都是正整数的时候。那么这个操作和计算一样
假设求模两端出现小数,则会转化为整数
假设求模的两端出现负数。先依照正数算。让后结果符号和第一个数符号同样
取反 -
全部的运算符,他的操作对象,要么一个变量,要么是一个表达式
3.4 比較运算符
比較运算符:就是用来比較两个变量的值的运算
比較运算符:终于的运算结果是bool类型
!
= <> !==(不全等于)
==:用于比較两个值是否相等
===:不但比較两个变量的值。并且还要比較变量的地址
var_dump($age == $age1)//PHP的函数。比較两个变量的值,返回值为bool
3.5 PHP的逻辑运算符
是对逻辑进行推断的一种运算符
逻辑运算符的分类:
逻辑与 而且
逻辑或 或者
逻辑非 相反
逻辑异或 xor 两个比較的值不一样时,就是真
注意:逻辑运算符的两端都必须为bool类型。假设不是类型。就会转换为bool类型
空字符串 或者‘0’位false
NULL 也为false
array中没有元素,转换为bool类型的时候也是false
3.6 PHP位运算符
位运算符:
原理:把运算符两端的整数转换为二进制,然后对其进行操作
3.7 其它运算符
错误控制运算符:@
作用:可能产生的不论什么错误信息都被忽略掉。用于于临时抑制错误
递增/递减运算符:
++:
前置++:先赋值,后++
后置++:先++,后赋值
--:
前置--:先赋值,后--
后置--:先--,后赋值
运行运算符:``
作用用以运行命令的
$c = `dir('C:\\')`;
echo $c;
字符串运算符:
$a = 'abc';
$b = 'efg';
字符串连接使用‘-‘(-)减号。不能使用加号
3.8 运算符的优先级
算术运算符的优先级:先乘除,后加减
clone new的优先级最高
运算符的左结合和右结合
第四章 PHP的结构控制
4.1 结构控制概述
1.机器语言 0,1
2.汇编语言
ADD =》 +
3.高级语言
用更加利于人类去理解的方式来敲代码
面向过程的语言
C语言 PHP
面向对象的语言
PHP,JAVA
结构程序设计:
结构程序设计是依照一定的原则和原理。组织和编写正确并且易读的程序的软件技术
程序设计的观点,不论什么一个程序都仅由顺序,条件和反复三种基本控制结构组成
顺序结构
选择结构
循环结构
4.2 程序结构
1.顺序结构
顺序的运行程序:从左到右。从上到下顺序运行
4.3 选择结构
PHP选择结构
1.最简单的条件语句
4.4 选择结构
if
else
二选一的情况
4.5 条件多分支情况
header(,。)作用发送一个自己定义的http报文,
比如
header('Content-Type:text/html;charset=utf-8');
CHARSET=gb2312
charset=gbk
charset=utf-8
if elseif .. else
4.6 switch多分支
使用场景:须要把同一个变量(或表达式)与非常多不同的值进行比較
并依据它等于哪一个进行相关操作
4.7 while循环结构
rand(var1,var2);
函数说明:产生一个随机数,该随机数的范围在var1。var2之间
4.10 for循环
for(;;)
4.11 foreach循环
foreach仅能用于对象和数组。两种语法
定义数组
$test_data = array('apple','banana','orange','tomoto','type'=>'fruit');
1.方法一
foreach($arr as $value)
遍历上面的数组
foreach($test_data as $item)
2.方法二
foreach($arr as $key=>$value)
遍历上面的数组方法
foreach($test_data as $key=>$value)
echo 'key = ',$key,',value=',$value,'<br/>';
第五章 PHP函数的使用
5.1 函数的基本介绍
函数使用的领域
1.数学领域的函数
2.计算机领域的函数:固定的一个程序段。或者称其为一个子程序,用来实现固定的功能
实现固定的程序段或者功能
函数的特点:
1.重用代码,降低不必要的,反复代码的编写,提高程序的重用性
5.2 函数的定义以及分类以及长处
函数的定义
function fun_name()
{
//code
}
PHP函数的分类
系统函数:
PHP语言自己实现好的函数:abs(),main(),sort()
自己定义函数:
函数的长处:
1.调高代码的的重用性
2.减少了代码的复杂度
3.避免程序修改带来的影响
4.封装性(算法。数据结构)
5.3 用户自己定义函数
怎样去声明。定义一个函数
语法规则:
function func_name(paramters){
//代码块
}
自己定义函数而且进行调用
定义函数的注意事项:
1.定义函数必须使用keyword:function
2.函数的名称的命名规则和变量的命名规则相互一致,函数的
的名称不区分大写和小写
3.
5.4 PHP函数的參数传递
參数的作用是什么:
把外部的值。变量传递到函数内部
參数和函数体有关系:參数的个数,以及需不须要參数是由业务逻辑參数是由来决定
,一般是由于在代码(函数体)里须要使用到外部数据时。才使用參数将外部的值传递给函数体
參数:就是函数的入口
返回值:就是函数的出口,能够使用return;返回函数
函数參数传递的分类:
1.普通的參数传递:即是值传递
max_define(17,19);
$a = 17;$b = 19;
max_define($a,$b);
2.按引用来进行传递:改变函数外部的变量
按引用传递函数定义
max_redefine(&$a,&$b);
5.5 PHP变量的作用域
作用域:指的是变量的生命周期,相对于内存
变量要有内存空间存储变量的值
1、PHP中变量作用域分类
1.局部变量
函数里面定义的变量
2.全局变量
就是在PHP文件里直接定义的(不在函数体,类属性,方法里面)
3.超全局变量
生命周期在PHP程序開始的时候就已经存在
$_GET ---HTTP GET 变量
$_POST
---HTTP POST 变量
$_FILES
---HTTP 文件上传变量
总结:
局部变量的生命周期最短。仅仅存在于代码块中
使用全局变量:global $a;
2.在函数里面使用全局变量要使用keywordglobal进行声明
function test_area()
{
$c = 8;
global $a,$b;
echo $a,$b;
}
开启我的PHP学习之旅的更多相关文章
- 开发了5年android,我开始了go学习之旅
前言 做了近5年的android开发,最近项目也是不怎么忙,空闲的时候总会思考一些事情,不过作为移动开发,我个人觉得很有必要学习后台开发,由于公司是Go语言开发的,了解go语言一段时间后,我发现go语 ...
- WCF学习之旅——第一个WCF示例(二)
第四步:通过自我寄宿的方式寄宿服务 WCF服务需要依存一个运行着的进程(宿主),服务寄宿就是为服务指定一个宿主的过程.WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段. 终 ...
- 我的Android学习之旅(转)
去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是 ...
- Android学习之旅(一)
2017-02-27 今天开始,正式开启Android学习之旅,背景从事.Net平台开发快五年了,一直在用C#做Web开发. 前天选购了两本书:<Java 编程思想(第四版)>和<第 ...
- Unity Shader 学习之旅
Unity Shader 学习之旅 unityshader图形图像 纸上学来终觉浅,绝知此事要躬行 美丽的梦和美丽的诗一样 都是可遇而不可求的——席慕蓉 一.渲染流水线 示例图 Tips:什么是 GP ...
- 滴滴Booster移动APP质量优化框架 学习之旅 二
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 续写滴滴Booster移动APP质量优化框架学习之旅,上篇文章分 ...
- 滴滴Booster移动APP质量优化框架 学习之旅
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 一.Booster简介 Booster是滴滴最近开源一个的移动应 ...
- 懒人模式开启Android模块自动化Api之旅
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 在将业务进行模块化时,避免不了模块页面路由和模块通信, 大多数我 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
随机推荐
- NHibernate学习(零)-本次学习遇到的错误汇总
问题一: "System.TypeInitializationException"类型的未经处理的异常在 KimismeDemo.exe 中发生 其他信息: "NHibe ...
- 6.11---字节输入流数据根据字节输出流存到文件中---io流概念及分类---文件存储的原理和记事本打开的原理---字节流读取文件的原理---文件复制的原理
- 01--Java集合知识
一.Java集合概览 Java中集合分2大块,Collection和Map,分别代表不同功能的集合类对象,整体结构图如下: Collection├List│├LinkedList│├ArrayList ...
- 170925_1 Python socket 创建TCP的服务器端和客户端
[Python版本]3.6 [遇到的问题] 客户端和服务器端都遇到:TypeError: a bytes-like object is required, not 'str' [解决方案] 参考:ht ...
- 循环语句和方法(day4)
- 扩增子分析QIIME2-4分析实战Moving Pictures
本示例的的数据来自文章<Moving pictures of the human microbiome>,Genome Biology 2011,取样来自两个人身体四个部位五个时间点 ...
- CAD从二制流数据中加载图形(com接口VB语言)
主要用到函数说明: _DMxDrawX::ReadBinStream 从二制流数据中加载图形,详细说明如下: 参数 说明 VARIANT varBinArray 二制流数据,是个byte数组 BSTR ...
- chrome浏览器处理本地Ajax跨域
chrome浏览器下 项目开发过程中,用到了Ajax异步请求.若将项目放在本地服务器中,通过localhost访问文件,不会报错.若直接通过file://访问文件就会报错. 报错信息: XMLHttp ...
- redis中关于使用string类型还是hash类型
前篇:最近在做一个将redis中大数据量进行合并缩减优化的工作,其中一项按月将数据进行合并.将一个月的数据放入一个key-value键值对中. 例:p2d20180901-3.p2d20180902- ...
- java的四舍五入及取整
四舍五入用 Math.round(double a): 向上取整用 Math.ceil(double a): 向下取整用 Math.floor(double a):