PHP+Mysql学习笔记
1. PHP is Hypertext Preproocessor。
2. Hello World:
|
<?php Echo ‘Hello World!’; ?> |
3. 标记风格:
a) <?php ?>
b) <script language=”php”></script>
c) <? ?> 短标签
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].’<br>’; } |
b) while:
|
$myarray = array(‘Mo’,19); $size = count($myarray); while($i<$size) { Echo $i.’=>’.$myarray[$i].’<br>’; } |
c) foreach:
|
$myarray = array(‘Mo’,19); Foreach($myarray as $key =>$value) { Echo $key.’=>’.$value.’<br>’; } 输出: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.’<br>’; } |
11. 关联数组遍历:
a) foreach:
|
$myarray = array(‘name’=>‘Mo’,’age’=>19); Foreach($myarray as $key =>$value) { Echo $key.’=>’.$value.’<br>’; } 输出:0=>Mo 1=>19 |
b) 混合使用list和each
|
$myarray = array(‘Mo’,19); While($list($key,$value)=each($myarray)) { Echo $key.’=>’.$value.’<br>’; } |
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学习笔记的更多相关文章
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
- MySQL学习笔记-事务相关话题
事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
随机推荐
- python实战===教你用微信每天给女朋友说晚安
但凡一件事,稍微有些重复.我就考虑怎么样用程序来实现它. 这里给各位程序员朋友分享如何每天给朋友定时微信发送”晚安“,故事,新闻,等等··· ···最好运行在服务器上,这样后台挂起来更方便. 准备: ...
- C#使用RabbitMQ
1. 说明 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方, ...
- MyEclipse2017 CI-7的破解
下载了一个最新版的MyEclipse,网上下载了破解工具,按照步骤完成后破解失败.很纳闷,于是网上查看,说是破解器的版本须与MyEclipse的版本对应,不对应的话,是没有效果的.如我的是CI-7版本 ...
- Linux 文件查找命令详解
find命令 Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将 ...
- Java枚举的小知识点
enum 是jdk1.5引入的,使用它可以创建枚举类型,就像使用class创建类一样. enum关键字创建的枚举类型默认是java.lang.Enum(一个抽象类)的子类 用法1 常量 一般定义常量都 ...
- LeetCode(46):全排列
Medium! 题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [ ...
- tomcat 拒绝服务
一 尝试重新下载二进制安装包安装包 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0 ...
- poj1990两个树状数组
垃圾poj交不上去 /* 按权值从小到大排序, 两个树状数组维护权值小于等于并且在i左边的点的个数和权值 */ #include<iostream> #include<cstring ...
- python3 + selenium 之窗口切换
窗口切换 此代码来源学习后对淘宝操作实践记录: 以下代码在Chrome61和IE11上正常运行,Firefox5.7上运行存在一些问题须改进,应该是火狐不兼容差link_text部分和循环经常报错,在 ...
- 2017-2018-2 20155309南皓芯 Exp8 WEB基础实践
基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本 ...