Php / 建站 · 11/23/2020 0

PHP学习笔记_基础篇_Part1

1、简介与概念:

PHP是一门开源脚本语言。全程超文本预处理器。

PHP是解释型语言(不保存可执行代码)。

编译型语言:保存可执行代码。

静态网站:无数据交换  *.html

动态网站:有数据交互  *.asp \.php[速度快]\.aspx(.net)[ C#语言]\.jsp(Java)[Android开发]

脚本语言:扩展语言/动态语言。插入在其它语言里,运行时执行。

网站的客户端和服务器端:http协议、请求端口默认80发送端口任意、MySQL端口3306、ftp端口21

bs架构与cs架构:(B:browser  C:client)CS:QQ\MySQL \LOL BS服务器负载高。

PHP优点:跨平台win \ linux、开源、语法简单、运行在服务器端不需要客户端配置环境、快速开发

2、php语言基本语法

2.1四种定界符

标准风格(best)

<?php

echo ‘阿巴阿巴阿巴阿巴’;

?>

短标记风格(在php.ini中修改short_open_tag = on)

<?

echo ‘阿巴阿巴阿巴阿巴’;

?>

asp风格(在php.ini中修改asp_tags = on)

<%

echo ‘阿巴阿巴阿巴阿巴’;

%>

脚本风格

<script language=’php’>echo ‘阿巴阿巴阿巴阿巴’;</script>

2.2 php代码执行过程

服务器解析php代码生成标准html代码发送到客户端浏览器解析后形成页面。可以循环判断输出div。

不保存可执行代码,但是可执行代码放在了内存里。

2.3 php可以省略结束界定符

2.4 php显示乱码问题

方法一:meta <meta charset=’utf8′>

方法二:通过header()解决  header(‘content-type:yext/html;charset=utf-8’)

2.5输出语句

echo 字符串数字 true=1 false= 空 输出数组类型非内容 可以一次输出多个值 用逗号分隔。带括号时只能一个参数echo(‘aa’,’bb’)不成立。

print 只能输出一个值 有返回值成功返回1 失败返回0

print_r 用来输出数组

var_dump() 类型+内容

2.6 PHP语法的一般特点

语句必须以分号(;)结尾

关于大小写:变量名区分大小写关键字(if、else、for、…)不区分大小写

2.7 变量

变量:计算机内存中的一段空间变量的命名规则

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

除了$以外,以字母、下划线开头,后面跟的是字母、数字、下划线。

$b=$a 把a的值传给b

$b=&$a 把a的地址传给b a变 b也变

unset $b 用来销毁变量

2.8超全局变量

  • $_开头
  • 超全局变量的类型都是数组

 

  • $GLOBALS
  • $_SERVER
  • $_REQUEST:保存的是post和get的数据
  • $_POST:保存post提交的所有数据
  • $_GET:保存get提交的所有数据
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

2.9可变变量

  • 将变量名(函数名)存储到一个变量中

$a=’neirong’;$b=’a’;

echo $$b;

得到neirong

2.10常量

  • 当一个数据在脚本执行的周期内不发生变化,可以将这个数据保存在常量中。
  • 常量前面没有$。
  • 语法:define(常量名,常量值,是否区分大小写),默认是区分大小写的。

define(’NAME’,’李白’)

echo NAME;

得到 李白

echo name;

得到 use of undefine

define(‘NAME’,’李白’,true);    true表示不区分大小写

echo name;

得到 李白

  • 调用时前面加constant 常量名可以用特殊字符 如define(‘^_^’,’fdsfsffds’);

echo constant(‘^_^’);

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

if(!defined(‘常量名’)){

define(‘常量名’,’内容’)

}

const 也可以声明常量

显示所有常量:var_dump( get_defined_constants(true) );[true表示分类显示]

  • 魔术常量:如

_LINE_:当前行号

_FILE_:当前文件

  • 预定义常量:如

PHP_VERSION(版本)\PHP_OS(操作系统)

2.11数据类型

  • PHP与js都是弱数据类型。(变量的类型取决于存放的值)

标量类型(4):boolean、integer、float(double)、string

复合类型(2):array、object

特殊类型(2):resource、NULL

  • 在PHP中,float(单精度)和double(双精度)是一样的
  • 在javascript中,单引号字符串和双引号字符串一样的。
  • 在PHP中,如果字符串内没有变量,显示结果单引号和双引号是一样的。
  • php中字符串内有变量双引号内的要解析。
  • 复习下js数据类型 (6) object(Array\Date\……)\ number\boolean\null\undefined\string
  • 进制转换(十:dec\八:oct(0开头) \二:bin\十六:hex(0x开头))PHP变量中可以存十进制、八进制、十六进制

例:echo decbin(9);//十进制转二进制

  • 数据类型转换

+制动转数字  . 连接字符串

强制转$num2=1.867; echo (int)$num2;//1

2.12转义字符(\)

脚下留心:转义字符后面如果跟的是特殊字符,将特殊字符转成普通字符。如果转义字符后面跟的是普通字符,转义字符不起作用,就是一个普通字符

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

2.13ASC||码

echo ord(‘A’);//65

echo chr(65);//A

echo “\x41”;//A

2.14字符串定界符(<<<str)(<<<‘str’)

echo <<<str

……//很多内容 解析 

str;

 

echo  <<<‘str’

……//很多内容不解析 

str;