php基础学习-1

视频

1.一般动态网站有哪些?

 

 

 一般asp和aspx都已经被时代抛弃淘汰了。

过去几年php还比较火,除却使用者的安全编码性,其最大的优点就是建站迅速;而java相对就用的时间长一些但学会java不仅可以建网站还可以写安卓程序。

DOT NET-->.net  \   C sharp---> C#


2.BS架构和CS架构

B:browser浏览器

S:seiver服务器

C:client客户端

BS:浏览器和服务器的关系,通过浏览器来访问服务器,比如:新浪、百度;

优点:只要有浏览器就能访问服务器,方便。
缺点:绝大部分的逻辑都在服务器上,这要就造成了瘦客户端胖服务器的关系。对服务器负载要求就很高

CS:客户端和服务器的关系,通过客户端软件来访问服务器,比如:QQ

优点:有一部分逻辑在客户端运行,减轻了服务器的负担 ;; 缺点:要安装客户端软件,麻烦。

3.PHP与apache建立关联

 跨平台、开源、语法简单、运行在服务端

 

  

 4. PHP的4种定界符

1.标准风格(推荐使用)

<?php
    //PHP code
?>

2.短标记风格

<?
//php code ?>

默认情况下不支持短标记风格,必须在php.ini 中更改配置如下:

 

 3.ASP风格

<%
    //php code
%>

默认情况下不支持asp风格,需要在配置文件中更改

 

 4.SCRIPT风格

<script language='php'>
    //php code
</script>

默认支持。

 如果从<?php开始一直到最后,全部都是php代码,可以省略php的结束定界符。

 

 

 解决显示乱码问题:

 

 5.输出

echo:

  1. 可以输出字符串和数字
  2. True输出1,false输出空,不要用echo输出布尔型数据
  3. 不能输出数组元素,只能显示Array
  4. echo可以一次输出多个值,每个值用逗号隔开

 

 print:

  1. print只输出一个值
  2. 输出规则和echo一样
  3. 输出成功返回1,失败返回0

print_r:用来输出数组array

var_dump:

可以输出数据类型、数组长度、数组的元素、对象

 

6. php语法的一般特点

  1. 语句必须以分号;结尾
  2. 关于大小写:变量名区分大小写,关键字(if、else、for..)不区分大小写

7.变量

1、变量必须以$开头,比如$name。$不是变量名的一部分,仅仅表示变量的开始。

总结上面例题:传值,保存值的空间是两个,更改一个空间的值不影响另外的变量;传地址,保存值的空间就一个,更改一个变量的值,另一个变量也会变化,因为两个变量指向同一个空间。

2.销毁变量

通过 unset() 销毁变量. 用来销毁变量名;变量的值由PHP的垃圾回收机制去销毁。所谓垃圾数据就是没有变量引用的数据。

3.超全局变量

超全局变量以$_开头,比如$_GET、$_POST

数据类型都是数组。

 

 

 

 

 

 4.可变变量

将变量名重组到另一个变量中

 

 多学一招:变量中不但可以保存变量名,还可以保存函数名

 

 8.常量

1.自定义常量

当一个数据在脚本执行的周期内不发生变化,可以将这个数据保存在常量中。
常量前面没有$。

语法:define(常量名,常量值,是否区分大小写),默认是区分大小写的

 

 

 

 定义常量可以用特殊字符,但是调用的时候必须通过' constant'关键字调用

 

 常量一旦定义,就不能再重新定义;可以在定义常量的时候先通过defined函数来判断常量是否已经定义:

 

 2.预定义常量

 

 

 

 3.魔术常量

 

 

 

 多学一招:还可以用 const来声明常量

 

 4.显示所有常量

 9.数据类型

 变量的数据类型分为强数据类型和弱数据类型。

如果一个变量的类型取决于存放值的类型,这种语言称为弱数据类型语言。
如果声明变量是A类型,就不能存放B类型的数据,这种语言称为强数据类型语言。
PHP和js都是弱数据类型。

 

 

 

 

 

 PHP变量中可以存十进制、八进制、十六进制:

 八进制用0表示;十六进制用0x表示

 10.PHP的执行过程

 

多学一招:opcode缓存保存在内存中,所以PHP执行效率非常高。
如果从概念来理解,PHP没有保存中间代码,可以说是PHP是解释型。但是PHP的执行过程将 opcode缓存保存在内存中,从这个角度来说PHP是编译型的。


 

 11.数据类型详解

1.浮点数

浮点数就是小数,在PHP中,float和 double是一样的。

由于浮点数转成二进制是乘2正向去整,可能会一直循环下去。所有浮点数保存的值是近似值。

所以不能用浮点数做比较:

 

 如果非要比较浮点数就通过 bccomp(值1,值2,比较的位数)函数去比较.如果两个数相等就返回0,值1>值2返回1,否则返回-1

脚下留心:在、java、#语言中浮点数有两种,一种是单精度( float),还有一种是双精度( doub le),双精度的范围比单精度要广。

 

 2. 布尔型

布尔型就是tue和 false

打印布尔型使用 var dump()

3.字符串型

在PHP中,如果字符串内没有变量,显示结果单引号和双引号是一样的。 如果有变量,双引号中的变量要解析。

单引号是字符串,双引号要做运算(将变量的值替换)

因为双引号要运算,而单引号不需要运算,所以,单引号的执行效率比双引号要高

当变量在开头时:

 

 

 要想不出错就要用{}把变量括起来$在里外都可以。

 

 4.转义字符(\)

 

 

 如果转义字符后面跟的特殊字符,则将特殊字符转成普通字符;如果转义字符后面跟的是普通字符,转义字符不起作用,转义字符就是一个普通字符。

 

 但是,要注意转义字符和 r、n、t 的组合,\r组合表示回车,\n 表示换行 \t 表示制表符(Tab)。

 什么是回车:将光标放到这一行最前面是回车

什么是换行:把这一行放到下面行来叫换行

 enter键实际是做了回车然后换行

 5.ASCII码

 计算机内部使用二进制计算。

1、ASC‖是连续的。
2、小写的字母比大写的大   a>A
3、小写字母和大写字母之间相差32  a-A

ASC‖码用7位的二进制数来表示,可以表示27次方个字符(128个)

ord()将字符转成十进制ASII码

chr()将十进制的数字转成字符

 

 \ 可以转义ASC码

 

 6.使用字符串定界符

  1. 作用:为输出大量的文本并且不用频繁的转义提供了简单方法
  2. 开始和结束的定界符必须一样。名字由字符、数字、下划线组成,不能以数字开头。
  3. 开启标识符前面有三个小于号 <<<
  4. 结束标识符必须顶格写,前面不能有空格和其他字符,标识符的后面也不能有空格。

 

字符串定界符分为 heredoc和 nowdoc.---------heredoc中的变量被解析,nowdoc则反之

Heredoc相当于是双引号字符串Nowdoc相当于是单引号字符串。

 

 

 

 

 

 

123

posted @ 2021-01-27 08:33  香农Shannon  阅读(87)  评论(0编辑  收藏  举报