PHP学习笔记

PHP
(personal
homepage)是HTML内嵌式语言,是一律种于服务器端执行的放置HTML文档的脚本语言。由zend公司保障。
何以而装web服务器?因为我们浏览器要赢得多少,从web服务器湖获取。httpwatch工具得以落发送和领的数据,有利于我们了解之又透彻。服务器除Appche还有微软iis服务器、lighttpd服务器(读ligty)等.

Appche服务器

Appche服务器跨所发生平台。可以透过ssh软件远程控制服务器。这时候要利用命令行。管理appche可以利用命令行。cd:切换目录。appache启动以后,会占用一个端口,默认80端口监听。一玉机械可以来1-65535哀号端口,在开被,可以动用netstat
-an来查看有怎么样端口在监听。端口越少越安全。如果发现来格外端口监听,则好关闭该端口。用netstat
-anb发现是何许人也程序于监听,从而关闭。一个端口只能被一个顺序监听。自己电脑发送请求时为产生端口,是任意分配的,包含在URL中,用完就自由了。

appche目录结构
bin目录用于存放常用命令
cgi-bin该目录存放Linux下常用命令
conf目录用来存放配置文件
error目录存放启动同关闭时的错误记录
htdocs目录用于存放站点文件(html)多单站点可透过文件夹分类。
icons目录存放图标
logs目录记录appche相关日志
manual目录手册
modules目录appche模块appche以模块式管理

虚拟主机的配置步骤

1.在httpd-conf中启用httpd-vhosts.conf文件 

2.以httpd-vhosts.conf文件中做安排

3.修改hosts文件(重新审视访问一个网页的确实流程)
详见说明看网页的流程 
浏览器回车后发生的事
1.解析主机名
2.询问当地文件hosts(windows下),该文件里发出一个IP地址,查询以及域名之关联,查询不交,转到外网dns域名服务器询问IP和域名之涉,查及了会向appche发送http请求,appche拿到要后而分析主机,解析web站点名称解析资源名称,取出一个资源文件,如果获到了,则赶回该页面。

一个IP(多单端口)和多单域名绑定
方案一:通过端口来分别不同的站点

1.先开发好温馨的网站

2.配置我们的httpd.conf文件 启用里面的virual
hosts文件,即起步虚拟主机的配备

3.配置httpd-hosts.conf文件。

4 在hosts文件被上加IP和域名之相应关系

 添加一个新的域名和拖欠IP绑定
1.开支新的网站

2.添加初的虚拟主机

3每当httpd.conf中让appche监听81端口,appche可以以监听多个端口

4于hosts文件被补充加新的域名

方案二:通过servername端区分不同之域名

1.付出新网站

2.于httpd-vhosts.conf文件中长配置文件,和方案一配置有所区别,要依靠定域名ServerName
www.sth.com。

3.每当hosts文件中上加IP和域名的呼应关系,和方案一等同。

网站资源文件(包括PHP文件)和appche在同样台机器,叫应用服务器,浏览器在另外一样台机器。数据库一般不在应用服务器,在特别数据库服务器上。

appche和PHP需要做,PHP调用过程如下
浏览器回车,解析主机名例如sohu,查询和主机名对应之IP,查无至就是顶外网dns查询,查及了,拿到IP后朝着appche发送http请求,appche解析主机(appche管理多单域名),取出站点/目录,解析出资源名(网站的切实哪一样页),将请求文件返回,PHP代码在appche已经执行完毕了,浏览器拿到之是服务器执行完后的代码,再分析后显得出来。
PHP代码修改了不需重启appche。

PHP基本语法
<?php ?>和HTML可以并行嵌套。
注释:/**/多行,//单行 ,#Unix风格。

PHP基本语法、变量,常量,数据类型
1
php中定义一个变量要以$符号开头,变量的数据类型不是定点的,是依据运行时达下文确定的。所以PHP是物化数据类型编程语言。

2.PHP区分轻重缓急写。
一个实用之变量由字母或下划线开头
主导数据列:整型,浮点型,布尔型,字符串型
复合数据类型:数组,对象
突出数据类型:null 资源类型
PHP中,一个整数一般占四单字节,一个字节占8bit,最高位代表符号位,0意味着正数,1意味负数PHP_INT_SIZE
一个整数最可怜是微?用PHP_INT_MAX可查看,负整数和正整数最酷价值(绝对值)一样。如果整数范围超最充分范围,则自动型变为float类型。

浮点数:精度最可怜14位,从左边开始算,第一单非0的频繁开计算精度

字符型:一个字符占用一个字节,理论及并未大小限制,只要不超内存就可
比较符==等于,===全等
逻辑异或Xor:两独发一个啊true,但非以为true ,为true

元旦运算符
表达式1?表达式2:表达式3

字符串运算符
.:连接两独字符串(基本数据列)

项目运算符
instanceof用于确定一个变量是否属有平等类型(只能判断目标类型)

其三雅流程控制语句
1.顺序控制
2.循环控制
3.原则决定
switch(表达式){
case 常量1:语句;
break;
case 常量2:语句;
break;
case 常量3:语句;
break;
case 常量n:语句;
break;
defual:语句;//可以无
break;
}
break语句:结束时之轮回或switch语句,可以于一个数字代表退出及第几层。break
3;
break代表不耍游戏了,continue表示还打第一牵涉起来玩。
continue也得以带动一个数字,表示从今第几重合开始走
常量:前面不待$符号。用define()函数定义,而非能够通过赋值语句;常量的价是标量[核心数据列](string,integer,float,boolean),一旦定义,不能够修改其价值。,不欲有值变化时采用常量,比如圆周率,税率。
常量的名目全部大写,用生划线间隔
概念常量两栽方法:
define(“TAX_RATE”,0.08);
const TAX_RATE2=0.1;

函数:调用:require ‘funcs.php’;
function 函数叫(参数列表){
//函数体;
//return 语词,返回一个结出,可以无。

}

PHP中页面相互调用
以形成a.php中可动用到function01.php中定义之函数,我们得运用以下函数:
require()和require_once()函数。
include()和include_once()函数。
<?php
require(‘要引入的文书名’);

$filePath=”a.php”;//通过变量引入
require $filePath;

require ‘要引入的文件名’;
?>

推行一个函数时,会由一个初仓库执行函数里之代码,然后返回到函数调用处,然后继续实行下的代码。

require_once的优点:
前者遇到即蕴涵文件,后者会判定是否曾经包含了拖欠公文,如果带有过来则不再包含。一可以省去资源,二好避免重新定义之失实。

include和include_once
犹足以管一个页面包含到其他一个页面,用法同上

require和include区别
include遇到错误会继续执行,require会终止执行
推介用require_once,通常位于php页面最前头

哪掌握函数的调用过程
按函数执行的平整,只要同看到函数立刻开辟新栈,各个库房之间的变量是互相独立的(空间相独立)。

函数参数和变量作用域:

1.函数的参数列表可以起多单参数
2.参数列表数据类型可以是差不多独品种,PHP支持的肆意档次
3.函数底命名和从定义变量一样,但是不分轻重缓急写
4.一个自定义函数中定义之变量是局部的,函数外无奏效
5.用global全局变量的下,可下在函数外之变量
$a=12;
function abc3(){

global $a;//要在abc3()中应用外层$a
$a+=45;

}
abc3();
echo $a;
6.为防全局变量的繁杂,可以用unset($var)删除一个变量
例:$a=12;
function abc($a){

unset($a);//表示不再abc函数范围外,不使$a,后面还定义。
$a=45;
}
abc($a);
echo $a;

7.函数底默认值问题
可为一点参数与一个默认值
function abc($b,$a=2){

$res=$a+$b;
return $res;
}
$e=70;
echo abc($e).’||’;//72,$a默认为2
acho abc($e,90);//160
$f=80;
echo abc($e,$f);
8.PHP默认是价值传递,如果要地方传递,
function abc(&$b){//加地址符

$b=314;
}
abc($a);//$a的地方指为$b的地点
echo $a;//314位运算

仲进制:逢二前行同,使用二进制只有0和1点儿独数,易于电子方式实现,同时,通过0和1的组合,可以象征其余一个往往。
1.次进制的极致高位是标志位,0意味着正数,1意味负数
2.正数底原码、反码和补码都同一
因此二进制表示一个屡,这个码就是源码
1…….>原码 00000000 00000000 00000000 00000001
负数的反码:原码符号位不移,其他也取反
-1……>原码 10000000 00000000 00000000 00000001
-1……>反码 11111111 11111111 11111111 11111110
负数的补码:它的反码加1
-1……>补码 11111111 11111111 11111111 11111111
0之反码、补码都是0
PHP没有无符号数,只要是数,最高位即是标志
当电脑运算的下,都是坐补码的主意来测算的
任凭是正数还是负数,都设让转接成为补码,然后开展测算

位运算符
$a & $b And(按位与) 将拿$a和$b中都也1的位设为1.
$a | $b Or(按位或) 将拿$a或者$b中为1的位设为1.
$a ^ $b Xor (按位异或) 将拿$a和$b中不同之位设为1.
~$a Nor (按位取反) 将拿$a中为0的位设为1,反的也然.
$a << $b shift left
将拿$a中之各项为左移动$b浅(每次运动还意味乘以2).
$a >> $b shift right
将将$a中的各项往右侧走$b不好(每次活动还表示除了因2).
前方四个受个运算,后面两单凡是运动运算
~2=?
1.求出2的补码 00000000 00000000 00000010
2.取反 11111111 11111111 11111101(补码)-》原码
11111111 11111111 11111100 //补码减一收获反码
10000000 00000000 00000011 //-3
所以, ~2=-3
各项移运算规则
算术右变:低位溢起,符号位不更换,并就此符号位补溢出之上位
算术左移:符号个非换,低位补0
$a=1>>2;
1.找到1的补码:00000000 00000000 000000000 00000001
00000000 00000000 000000000 00000000
$a=0;
$b=-1>>2;
1.找到-1的补码:10000000 00000000 00000000 00000001
11111111 11111111 11111111 11111110
11111111 11111111 11111111 11111111
2.竟术右变两号 11111111 11111111 11111111 11111111
结果补码–原码 、
1111111 11111111 11111111 11111110(减一转换反码)
10000000 00000000 000000000 00000001(原码)//-1
-1>>2=-1;

$c=1<<2;
1的补码:00000000 00000000 00000000 00000001
不当移两个 00000000 00000000 00000000 00000100 //4

数组、排序、查找
以掌握数组中终究共有多少只因素,可以动用系统函数count:count(数组名);

数组创建
数组是根本字和值的集纳

.创建数组一样
1.$arr[0]=123;
$arr[1]=90;
$arr[2]=8;
数组在内存中之存在方式:每个数组元素分配一个空间,$arr相当于楼层,每个元素代表一个房
在PHP数组中,每个长素值的数据类型不限制
.创建数组二
$数组名=array(值1,值2,值3…);

下标又为关键字,可以是数字,也足以协调指定(默认情况下,我们的要素的下标是从0开始受你号码)
$arr[‘logo’]=”beijing”;
#arr[‘php’]=123;
或者
$arr=array<“logo”=>”北京”,”php”=>123>

若我们创建一个数组时,没有叫有元素指定下标,PHP就见面自动用当下最深的十分下标值,加上1当该因素的下标(关键字)
我们司空见惯可以用print_r来显示这数组情况
var_dump($arr)可以进一步详实的展示数组的信
一维数组运用陷阱
$arr[bar]=’hello world’;这样用危险,不要这么用
PHP数组相关函数
count函数:由于统计数组元素有多少个 count(数组名)。
is_array函数
print_r()和var_dump()函数。
explode函数:拆分字符串$arr=explode(” “,$str);//用空格拆分字符串$str.

 

 

相关文章