php mysql开发技术_PHP+MySQL开发技术详解—学习笔记
1. PHP is Hypertext Preproocessor。
2. Hello World:
Echo ‘Hello World!’;
?>
3. 标记风格:
a) <?php ?>
b)
4. 注释:
a) //
b) /**/
c) #
5. 数据类型:
a) 4种标量类型
i. boolean:取值true和false;
ii. integer
iii. float,也成为double
iv. string:单引号(不显示变量值)、双引号(显示变量值)、界定符(<<
b) 2种复合类型
i. array:eg:myarray(1,2);或者myarray(key1=>value1,key2=>value2);或者myarray[k1]=v1;
ii. 对象类型object:
class MyClass
{
public$var1; //属性
functionmyFun($arg1,$arg2){} //方法
functionmyFun($arg1,$arg2){} //构造方法
}
使用new创建对象:$obj = new MyClass();
c) 2种特殊类型
i. 资源类型:例如,数据库连接、查询,文件句柄等
ii. NULL类型,不区分大小写null=NULL,unset()函数删除变量值后为null
6. 常量和变量:
a) 常量:使用define()函数实现,eg:define(‘NAME’,’姓名’);预定义的常量又称之为魔术常量,例如_METHOD_表示方法的名字。
b) 变量:使用$定义变量并获得变量值。预定义变量也有很多,例如_COOKIE_表示用户会话。打印变量:var_dump($arg);
7. 表达式:
a) 算数运算符:+-*/%
b) 赋值运算符:=
c) 逻辑运算符:&&(and)、||(or)、xor、!
d) 比较运算符:===表示全等,即两边的值相等且类型相等
e) 位运算符:&|~^<< >>
f) 递增递减:++--
g) 三元运算符:?:
h) 字符串运算符:$a=’你’;$b=’好’; $e=$a.$b;通过.连接字符串,输出“你好”。此外,使用{}和双引号同样可以得到这样的效果。$e=”{$a}{$b}”;点运算符首先将不是字符型的变量转换成字符型,再进行运算。
i) 数组运算符:+、==、===、!=或<>、!==
j) 类型运算符:instanceof
k) 错误控制运算符:@控制错误提示不出现
8. PHP流程控制:
a) If…else
b) Switch
c) While、for、foreach(用于遍历数组和对象)
9. 数组:
a) 索引数组:使用数字作为key
b) 关联数组:使用字符串作为key。
$myarray = array(‘name’=>’姓名’);
10. 索引数组遍历:
a) for:
$myarray = array(‘Mo’,19);
$size = count($myarray);
For($i = 0; $i < $size; ++$i)
{
Echo $i.’=>’.$myarray[$i].’
’;
}
b) while:
$myarray = array(‘Mo’,19);
$size = count($myarray);
while($i
{
Echo $i.’=>’.$myarray[$i].’
’;
}
c) foreach:
$myarray = array(‘Mo’,19);
Foreach($myarray as $key =>$value)
{
Echo $key.’=>’.$value.’
’;
}
输出:0=>Mo
1=>19
d) list():仅用于索引数组
$myarray = array(‘Mo’,19);
List($nickname,$age) = $myarray;
Echo $nickname.’ ’.$age.’ ’;
e) each():返回key-map键值对(4个单元的数组,键名分别为0、1、1key、value,其中,0和key包含键名,1和value包含数组元素的值),并将指针向前移动一步。
$myarray = array(‘Mo’,19);
$array = each($myarray);
Echo $nickname.’ ’.$age.’ ’;
f) 混合使用list和each
$myarray = array(‘Mo’,19);
While($list($key,$value)=each($myarray))
{
Echo $key.’=>’.$value.’
’;
}
11. 关联数组遍历:
a) foreach:
$myarray = array(‘name’=>‘Mo’,’age’=>19);
Foreach($myarray as $key =>$value)
{
Echo $key.’=>’.$value.’
’;
}
输出:0=>Mo
1=>19
b) 混合使用list和each
$myarray = array(‘Mo’,19);
While($list($key,$value)=each($myarray))
{
Echo $key.’=>’.$value.’
’;
}
12. 数组的操作: a) 检查数组中是否含有特定值:array_search b) 数组合并:array_merge c) 数组分割:array_chunk d) 统计数组中值出现的次数:array_count_valuesc e) 计算数组中所有值的和:array_sum f) 删除重复的中:array_unique g) 数组中的元素数目:count h) 数组正向排序:sort i) 逆向排序:rsort j) 元素顺序反转:array_reverse k) 用给定的值填充数组:array_pad l) 计算多个数组的交集:array_intersect 13. 预定义数组变量: a) $_SERVER:服务器变量 b) $_EVE:环境变量 c) $_GET:获取HTTP GET方式传递的变量 d) $_POST:获取HTTP POST方式传递的变量 e) $_SESSION:会话变量 f) $_COOKIE:cookie变量 g) $_Request:请求变量,包括$_GET,$_POST和$_COOKIE h) $_FILES:文件上传上传变量 i) $_GLOBALS:全局变量的集合 14. PHP函数: 函数定义: function 函数名(参数1,参数2) { 函数体; } 参数传递:$传值,&$传引用 函数中引用全局变量:1.使用global修饰变量2.使用$GLOBALS数组引用 静态变量:使用static修饰 15. PHP与面向对象 a) 类定义:class 类名{public$name; public function(){}} b) 类加载:require或者include c) 类的实例化:变量名 = new 类名(); d) 类内部访问该类静态方法:self::静态方法名;类内部访问父类的静态方法:parent::静态方法名。 e) 构造方法:__construct()、析构方法:__destruct() 16. PHP与MySQL: a) 连接:mysql_connect() b) 关闭:mysql_close() c) 选择数据库:mysql_select_db() d) 查询:mysql_query() i. Mysql_fetch_row:将查询返回的结果集作为枚举数组,如果没有,返回false ii. Mysql_fetch_assoc:将结果集的一行作为关联数组 iii. Mysql_fetch_array:结合上述两者,可以通过参数选择 扩展库mysqli(采用面向对象技术): a) 连接:$mysqli = newmysqli($host,$username,$password,$dbname); b) 查询:mysqli->query(sql); 17. Smarty模板技术: a) 作用:分离PHP和HTML代码 b) 两个文件: i. 模板文件:含有定界符的HTML文件,执行时变量替换,后缀名为tpl或者html。 ii. PHP文件:实现程序逻辑,通过assign方法给模板文件中的变量赋值 c) 定界符:默认为{}。注释:{*注释*} d) 变量: i. PHP分配变量: 1. $smarty->assign(‘girl’,$girl); //给模板变量赋值 2. $smarty->display(‘xxx.html’); //调用并显示模板 ii. PHP配置文件中的变量:配置的全局变量 iii. Smarty保留变量:如get、post、request等
php mysql开发技术_PHP+MySQL开发技术详解—学习笔记相关推荐
- JS缓存与浏览器缓存技术详解 学习笔记
缓存与浏览器缓存技术: 一,缓存: 缓存是网络传输中常用到的一种技术,利用缓存可以让我们在数据传输方面更加的方便和快捷. 1.1缓存的优点: 避免冗余的数据传输: 当很多的人去访问一个网站的原始服务器 ...
- Vulkan开发实战详解 学习笔记 - 环境光 散射光 镜面光 定向光
环境光 添加LightManagerLightManager类,此类的主要功能为管理光照的相关参数.首先给出此类的声明,具体代码如下: #ifndef VULKANEXBASE_LIGHTMANAGE ...
- windows驱动开发详解学习笔记
1. windows驱动分两类,NT式驱动和WDM驱动,后者支持即插即用: 2. DriverEntry是入口函数,传入参数:pDriverObject由IO管理器传入: 3. WDM驱动中,AddD ...
- [系统安全] 四十四.APT系列(9)Metasploit技术之基础用法万字详解及防御机理
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- jdbc mysql 自动重连_JDBC实现Mysql自动重连机制的方法详解
JDBC是Java程序连接和访问各种数据库的API,它可以提供Java程序和各种数据库之间的连接服务,下面是爱站技术频道小编为大家带来的JDBC实现Mysql自动重连机制的方法详解. 日志:using ...
- 容器编排技术 -- Kubernetes kubectl scale 命令详解
容器编排技术 -- Kubernetes kubectl scale 命令详解 1 kubectl scale 2 语法 3 示例 4 Flags kubectl scale 扩容或缩容 Deploy ...
- 大数据是什么和大数据技术十大核心原理详解
一.数据核心原理 从"流程"核心转变为"数据"核心 大数据时代,计算模式也发生了转变,从"流程"核心转变为"数据&quo ...
- MySQL数据库增删改查常用语句详解
MySQL数据库增删改查常用语句详解 一 MySQL数据库表结构 1.1 常见数据类型 1.2 常用约束类型 1.3 MySQL存储引擎 二 DDL语句:数据定义语句 2.1 修改数据库密码 2.1. ...
- MySQL常用操作之创建存储过程语法详解
MySQL常用操作之创建存储过程语法详解 前言 简介 语法 创建结构 变量结构 入参变量和出参变量 流程控制 判断(IF 语句) 判断(CASE 语句) 循环(LOOP 语句) 循环(WHILE 语句 ...
最新文章
- 弃Java、Swift于不顾,为何选Python?
- js 去掉地址栏内参数_JS获取网站地址栏URL中的参数值并转换成json对象
- 手把手教你用seq2seq模型创建数据产品(附代码)
- How to change windows applicatioin's position via Win32 API
- stk在计算机仿真中的应用_浅析仿真技术在激光系统设计中的应用
- 希尔排序不稳定例子_Python实现希尔排序(已编程实现)
- python中lower()函数的用法
- Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
- snmp有android代理端吗,GitHub - wosika/SNMP4Android: 简易使用于安卓的SNMP工具类,基于snmp4j...
- spring cloud学习笔记01
- MarkDown - Latex符号(箭头)的整理
- 360漏洞修复网管版小软件不错
- k8s通过Service访问Pod
- 房子装修与软件开发竟是如此的相识
- 百度地图总结第三篇之定位(我的位置)
- usb转串口,232电平,TTL电平
- online python compiler_在线控制台编译器:Online Console Compiler
- Unreal Engin_画廊制作笔记 _006灯光处理,静态灯光的设置
- BJFU_数据结构习题_241双栈的基本操作
- php程序员的自白,程序员考试前的内心独白
热门文章
- git 子命令 git tag 常用命令实操教程
- tensorflow 各个版本的 CUDA 以及 Cudnn 版本对应关系
- windows 上的应用性能测试
- 事务处理与事务的隔离级别
- 如何开始使用centos_如何开始使用CentOS
- 区块链原理设计与应用_我如何设计一个可以在6个月内吸引200K用户的区块链应用...
- github pages_在GitHub Pages上发布组织主页
- python certificate verify failed
- origin 修改水平坐标的刻度
- Python3 装饰器解析