php,基础,流程控制,函数,字符串,数组,web交互,mysql数据库,PHP数据库编程,cookie与session,日期和时间,图形图形处理,文件和目录处理,面向对象,pdo数据库抽象层,smarty模板。

php是超文本域处理器,是一种服务器端,跨平台,HTML嵌入式的脚本语言。

客户端为b端,url到服务器s端,html到客户端,服务器database,php和Apache组合。

url:统一资源定位符,php解析器在服务器上工作,php代码只能在服务器上工作。

PHP5新特性,构造函数和析构函数,对象的引用,对象的克隆,对象中的私有,公共,以及保护模式,接口,抽象类,_call,_set和_get,静态成员。

php工作流程,PHP基于服务器端运行的脚本程序语言,实现数据库和网页之间的数据交互。

操纵系统,网站运行服务器所使用的操作系统。

服务器,搭建PHP运行环境时所选择的服务器。

PHP包,实现对PHP文件的解析和编译。

数据库系统,实现系统中数据的存储。

还组合浏览器。

PHP代码,到PHP包对实现PHP文件进行解析和编译,服务器搭建PHP运行环境时所选择的服务器,所需操作系统,数据库系统,通过PHP包解析后的代码发送给用户。

PHP代码传给PHP包,请求PHP包进行解析并编译,服务器根据PHP代码请求进行读取数据库,解析后的代码发送给浏览器。

access.conf用于配置服务器的访问权限,httpd.conf用于设置服务器启动的基本环境,srm.conf用于做文件资源上的设定。

<form name="form2" method="post" action=""></form>
name: 表单的名称
method: 表单提交的方法
action:表单提交的路径 <input type="text" name="textfield">
type: 应用表单的类型
name: 文本框的名称 <input type="hidden" name="ID" value="">
type: 表单的类型
name: 隐藏域的名称
value: 隐藏域的值 <textarea name="" cols="" rows="" id=""></textarea>
name: 文本域的名称
cols: 表示文本域字符的宽度
rows: 表示有多少行字符 <input type="checkbox" name="checkbox" value="dashu">
type: 表单的类型
name: 复选框的名称
value: 复选框提交
checked: 勾选
disable: 失效 <input type="radio" name="radiobutton" value="radiobutton" /> <select name="select1">
<option selected="selected"></option>
</select> <input type="image" name="imageField" src=""/> <input type="file" name="file"/> <label></label>

php引用,常量,运算符,流程控制,自定义函数,正则表达式,文件,目录,会话控制,面向对象,网络协议。

PHP标记,注解,常量,预定义变量,变量,数据类型,转换,运算符。

PHP常量,用于存储不改变的数据信息,声明和使用常量

define()函数声明常量

constant()函数获取常量的值

defined()函数判断常量是否已经被定义

预定义变量

PHP中提供了很多预定义变量:

__FILE__ PHP程序文件名
__LINE__ php程序行数
PHP_VERSION PHP程序的版本
PHP_OS PHP解析器的操作系统
E_ERROR 常量指到最近的错误处
E_WARNING 常量指到最近的警告处

php变量,是可以改变的量

声明变量

$变量名称=变量的值

变量赋值

直接赋值,传值赋值,引用赋值

$b = $a;

$b = &$a;

变量作用域

3中变量作用域:局部变量,全局变量,静态变量。

// 局部变量
<?php
function example(){
$a="hello"; // 内部
echo $a;
}
example();
$a = "dashu"; // 外部
echo $a;
?> // 全局变量
<?php
$a = "hello";
function example(){
global $a; // 使用global关键词声明并使用在函数外部定义的变量a
echo $a;
}
example();
?> 静态变量
<?php
function example(){
static $a = 10; // 定义静态变量
$a+=1;
echo $a;
}
function xy(){
$b = 10; // 定义局部变量
$b+=1;
echo $b;
}
example(); // 静态变量都会+1;
局部变量都不变

可变变量

可变变量是一种独特的变量,前面加:

$$
$$可变变量名称 = 可变变量的值
<?php
$a = "da"; // 定义变量
$$a = "dada"; // 定义可变变量,变量名称为变量a的值
echo $a;
echo $$a;
echo $da
?>
da
dada
dada

php数据类型

3种,标量数据类型,复合数据类型,特殊数据类型

标量数据类型:

boolean布尔型,string字符串型,integer整型,float浮点型。布尔型是PHP常用数据类型,字符串连接的字符序列,由数字,字母和符号组成。

\r 回车
\n 换行
\t 水平制表符
单引号,双引号
界定符
strpos()查找字符串
strrpos()从后往前找
strlen()函数用于计算字符串长度

双引号会解析,单引号不会解析。

integer,float浮点数据类型,可以用于存储整数,也可以保存小数。

复合数据类型

两种,array数组和object对象

特殊数据类型:

resource资源和null空值

资源是由专门的函数来建立和使用,空值表示没有为该变量设置任何值,没有赋值,被赋值为null,被unset()函数处理过的变量。

转换数据类型

(boolean),(bool),(string),(integer),(int),(float),(double),(real),(array),(object)

检测数据类型:

is_bool 检测是否布尔类型
is_string
is_float
is_double
is_integer
is_null
is_array
is_object
is_numeric

数组 mixed任何数据类型,[]表示可选

字符串换数组explode函数

php 运算符

算术运算符,字符串运算符,赋值运算符,位运算符,递增运算符,递减运算符。

逻辑运算符

<?php
$a = ""; // 空
if(isset($a) && !empty($a)) {
echo 'da';
}else{
echo 'shu';
}
?>
isset()函数检测变量是否设置
empty()函数检测变量是否为空

比较运算符,三元运算符

php 流程控制语句

if, switch 条件控制语句
while, do...while循环控制语句
for, foreach 循环控制语句
break, continue跳转语句
include, require 包含语句
include_once, require_once语句

包含语句

<?php include("top.php");?>

<?php include("bottom.php");?>

// include如果外部文件发生错误,系统只会给出一个警告

区别?

require()出错误信息会终止脚本的处理,include()输出警告,不会终止脚本的处理,require()语句调用文件,程序一执行,就调用,include()只有执行到这句时,才会调用。

// 闰年
<?php
$num = 2012;
if(($num%4) == 0 && ($num%100) != 0) {
echo $num;
}else {
echo $num;
}
?>

函数

内部函数和用户自定义函数

定义和调用函数:

<?php
function example($a){
return $a;
}
echo example(1);
?>

在函数间传递参数

3种传递参数:按值传递,按引用传递,默认参数

按值传递函数内部对形参有变化,对函数外实参没有变化

引用传递:

& ,形参加这个 function example(&$a){}

函数内外都发生变化,将实参的内存地址传递给形参

默认参数必须放在非默认的右边。

return()返回函数的调用者

变量函数,叫做可变函数

<?php
function a($a, $b){
return $a+$b;
}
function b($a, $b){
return $a*$b;
}
function c($a, $b){
return $a-$b;
}
$result="a";
echo $result(3,2);
?>

变量函数,将函数名赋值给变量。

函数的引用

<?php
function &example($a=0){
return $a;
}
$str = &example("da");
echo $str;
?>
// da

unset函数,取消引用,只是端口变量名和变量内容之间的绑定,不是销毁变量内容。

函数库

empty检查变量是否为空

gettype获取变量类型

intval获取变量的整数值

is_array是否为数据

is_int, is_numeric是否为数字

isset是否变量被设置,是否被赋值

print_r打印

settype设置变量的类型

字符串函数库

addcslashes 实现转移字符串中的字符

explode字符串指定的字符串或字符切开

ltrim 删除字符串开头的连续空白

str_ireplace 将某个指定的字符串都替换为另一个指定的字符串

str_repeat 将指定的字符串重复输出

str_replace 取代所有字符串中出现的字符

explode函数 字符串变数组

php日期时间函数库

checkdate 验证日期的有效性

date 格式化一个本地时间

microtime 返回当前unix时间戳和微秒数

mktime 获取一个日期的unix时间戳

strftime 根据区域设置格式化本地时间

strtotime 将任何英文文本的日期时间描述解析为unix时间戳

checkdate()函数

checkdate()函数用于验证日期的有效性

php数学函数库

ceil 返回不小于参数value值的最小整数

mt_rand 返回随机数中的一个值

mt_srand 配置随机数的种子

rand 产生一个随机数

round 四舍五入

fmod 返回除法的浮点数余数

getrandmax 获取随机数最大的可能值

floor()实现舍去取整

fmod()返回除法的浮点数余数

php文件系统函数库

basename 返回文件路径中基本的文件名

copy 将某文件由当前目录拷贝到其他目录

file_exists 判断指定的目录或文件是否存在

file_put_contents 将字符串写入指定的文件中

file 读取某文件的内容,并将结果保存到数组中,数组内每个元素的内容对应读取文件的一行

filetype 返回文件类型

fopen打开某文件

fread从文件指针所指文件中读取指定长度的数据

is_dir 判断目录是否存在

is_uploaded_file 判断文件是否应用http post方式上传的

mkdir 新建一个目录

move_uploaded_file 应用post方法上传文件

readfile读入一个文件,写入缓冲

rmdir 删除指定的目录

unlink用于删除文件

fopen()函数用于打开某文件

mkdir()函数用于判断某文件是否存在

file_get_contents()函数读取文本文件信息

实现文件,目录,创建和删除

<?php
if(!is_dir('txt')){ // 判断txt是不是文件夹目录
mkdir('txt'); // 创建txt文件夹目录
$open=fopen('txt/in.txt', 'w+'); // 以读写方式打开文件in.txt
if(is_writable("txt/in.txt")){
if(fwrite($open,"dashu")>0){
fclose($open); // 关闭

mysql函数库

mysql_close 关闭mysql连接

mysql_connect 打开一个mysql服务器的连接

mysql_create_db 创建一个数据库

mysql_error 文本错误信息

mysql_fetch_array 从结果集中获取一行作为关联数组,或数字数组

mysql_fetch_assoc 从结果集中获取一行作为关联数组

mysql_fetch_field 从结果集中获取列信息并作为对象返回

mysql_fetch_object 从结果集中获取一行作为对象

mysql_fetch_row 从结果集中获取一行作为枚举数组

mysql_num_rows 获取结果集中行的数目

mysql_query 发送一条sql查询

mysql_select_db 选择数据库

<?php
$link = mysql_connect("localhost", "root", "root"); // 连接数据库
mysql_selected_db("db_database");
if(!$link){
die("数据连接失败".mysql_error());
}
echo "连接成功";
?> <?php
$conn = mysql_connect("localhost","root","root") or die("连接mysql服务器失败");
// 连接服务器
$select = mysql_select_db("data_name", $conn);
// 选择数据库
if($select){
echo "数据库连接成功";
}
?> <?php
$conn = mysql_connect("localhost", "root", "root") or die("连接数据库服务器失败".mysql_error());
$select = mysql_query("use database", $conn); // 选择数据库
mysql_query("set names utf8"); // 设置数据库编码格式
if($select){
echo "数据库选择成功";
}
?>

数据库函数库

count统计数组中元素的个数

array_push向数组中添加元素

array_pop获取并返回数组中的最后一个元素

array_unique删除数组中重复的元素

array_keys获取数组中重复元素的所有键名

array_search获取数组中指定元素的键名

explode将字符串分割成数组

implode将数组中的元素组合成一个字符串

array_rand 从数组中随机取出一个或多个单元

arsort 对数组进行逆向排序

asort 对数组进行排序

in_array 在数组中搜索某个值

count()对数组中的元素个数进行统计

array_push()函数可以向数组中添加元素

strlen()函数计算字符串的长度

substr()函数对字符串进行截取

file_get_contents()函数读取文本文件中的数据

字符串

字符串,转义,还原字符串,截取字符串,分割,合成,替换,检索,去掉字符串首尾空格,特殊字等。

字符串由零个或多个字符构成的一个集合,数字类型,字母类型,特殊字符,不可见字符。

转义,还原字符串

addslashes()函数和stripslashes()函数转义和还原字符串

addslashes()函数用于对sql语句中的部分字符进行转义

addslashes()函数进行字符串转义

stripslashes()函数对转义后进行还原

截取字符串

substr()函数从0开始,进行截取字符串要注意编码格式,切记页面编码不能设置为utf-8,如果页面是utf-8编码格式,那么就使用iconv_substr()函数进行截取。

explode()函数和implode()函数分割和合成

替换字符串

str_ireplace()函数和substr_replace()函数

str_ireplace()函数使用新的字符串替换原始字符串中被指定要换的字符串。

substr_replace()函数

substr_replace()函数对指定字符串中的部分字符串进行替换。

检索字符串

strstr()函数和substr_count()函数

strstr()函数获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。

strstr()函数获取上传图片的后缀

<form name="form" method="post" action="index.php" enctype="multipart/form-data">
<input name="u_file" type="file" size="24"/>
<input type="image" name="imageField" src="data:images/sc.bmp" onClick="form.submit();">
</form>
<?php
header("Content-type:text/html;charset=utf-8");
if($_FILES[u_file][name] == true){
$file_path="./upload\\";
$picture_name=$_FILES[u_file][name];
$picture_name=strstr($picture_name,".");
if($picture_name!=".jpg"&&$picture_name!=".JPG"){
echo "<script>alert('上传');window.location.href='index.php';</script>";
}else if($_FILES[u_file][tmp_name]){
}else{
}
?>

substr_count()函数

获取子串在字符串中出现的次数

ltrim()函数和rtrim()函数

trim()函数用于去除字符串开始位置和结束位置的空白字符,并返回去掉空白字符后的字符串。

字符串与HTML转换

htmlentities()函数将所有字符转换为html字符串。

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

PHP全栈学习笔记23的更多相关文章

  1. PHP全栈学习笔记29

    前言 这一章主要讲一讲PHP的背景,优势,PHP的环境搭建,书写和调式简单的PHP代码,如何解决简单的PHP错误等. 目录结构 PHP简介 PHP是面向对象,指令式编程,设计者是 拉斯姆斯·勒多夫 出 ...

  2. PHP全栈学习笔记12

    php简介,php历史,php后端工程师职业前景,php技术方向,php后端工程师职业体系介绍. php是世界上使用最广泛的web开发语言,是超文本预处理器,是一种通用的开源脚本语言,语法吸收了c语言 ...

  3. PHP全栈学习笔记9

    php的会话控制,什么是会话控制,http等. 什么是会话控制思想,http协议. cookie 和 session http是超文本传输协议,是网络上最广泛的一种网络协议. http最大特点是无连接 ...

  4. PHP全栈学习笔记7

    图形图像处理技术,gd库的强大支持,PHP的图像可以是PHP的强项,PHP图形化类库,jpgraph是一款非常好用的强大的图形处理工具. 在PHP中加载GD库 gd官方网址下载: http://www ...

  5. PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与优化 程序设计,PHP框架基础知识,算法,逻辑思维,高并发 PHP基础知识 引用变量, ...

  6. PHP全栈学习笔记13

    php与ajax技术 web2.0的到来,ajax逐渐成为主流,什么是ajax,ajax的开发模式,优点,使用技术.(ajax概述,ajax使用的技术,需要注意的 问题,在PHP应用ajax技术的应用 ...

  7. PHP全栈学习笔记17

    phpmyadmin教程 管理页进入phpmyadmin 打开C:\wamp\apps\phpmyadmin3.5.1下的配置文件:config.inc 修改密码 创建与修改数据库.数据表 字段类型 ...

  8. PHP全栈学习笔记16

    <?php $fileName = "php大师.test.php"; //补充程序,显示文件名(不包括扩展名) $start = strrpos($fileName, &q ...

  9. PHP全栈学习笔记15

    PHP标记风格 PHP一共支持4种标记风格 <?php echo "这是XML风格的标记"; ?> 脚本风格 <script language="php ...

随机推荐

  1. C#使用任务并行库(TPL)

    TPL(Task Parallel Library) 任务并行库 (TPL) 是 System.Threading和 System.Threading.Tasks 命名空间中的一组公共类型和 API. ...

  2. 查询慢SQL

      可以查看当前时间访问库的所有请求SQL SELECT COUNT(*) AS c,state,info  FROM `information_schema`.processlist GROUP B ...

  3. Suricata Rules

    Suricata Rules https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Rules https ...

  4. 一行css代码搞定响应式布局

    在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量.最精彩的地方在于:所有的响应特性被添加到了一行 css 代码中.这意味着我们不必将 HT ...

  5. vue中组件之间的通信

    一.vue中组件通信的种类 父组件向子组件的通信 子组件向父组件的通信 隔代组件之间的通信 兄弟 组件 之间的通信 二.实现通信的方式  props vue自定义的事件 消息订阅与发布 vuex sl ...

  6. Python 简单web服务器的实现

    import re import socket def service_cilent(new_socket): request = new_socket.recv(1024).decode(" ...

  7. cell上的按钮点击和左滑冲突

    cell上的某个按钮的点击事件,当cell左滑的时候,只要活动的区域也在按钮上,那么按钮的点击事件也会调用. fix: 给按钮添加一个手势(TapGesture)那么当点击的时候就会响应点击手势的方法 ...

  8. 13. 请看TED 的演讲, 谈谈你对压力的看法,以及怎么和别人合作, 帮助别人,把压力转化为动力,在互相帮助的环境中成长。------------答题者:徐潇瑞

    看了ted的演讲,我觉得压力就像一根弹簧,有多大的压力,它就有多大的弹力:现实中只要你学会用一种永远不服输的顽强精神,去对待人生和社会中遇到的一切困难与挫折,宠辱不惊的看云卷云舒,悟潮起潮落.可是存在 ...

  9. Luogu P3243 菜肴制作

    Luogu P3243 菜肴制作 神神奇奇的拓扑排序,也就是借这道题学习一下大名鼎鼎的Toposort了-- #include<bits/stdc++.h> #define N 10001 ...

  10. 【Java】《Java程序设计基础教程》第一章学习

    一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...