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的 ...
随机推荐
- sync_binlog innodb_flush_log_at_trx_commit 浅析【转】
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数.本文从参数含义,性能,安全角度阐述两个参数为不同的 ...
- C/C++杂记:深入虚表结构
1. 虚表与“虚函数表” 在“C/C++杂记:虚函数的实现的基本原理”一文中曾提到“虚函数表”的概念,只是为了便于理解,事实是:虚函数表并不真的独立存在,它只是虚表(virtual table)中的一 ...
- 使用JDBC连接数据库报“找不到驱动程序”错误解决
1.jre安装不成功: 2.jre中没有数据库驱动(D:\jre\lib\ext 中查看)
- 【ES】学习8-聚合1
参考资料: https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_combining_the_two.html 特定概念: ...
- .NetCore源码阅读笔记系列之Security (三) Authentication & AddOpenIdConnect
通过第二篇文章我们已经知道了授权的内部实现通过自定义的授权Handler来的,同样的道理 OpenIdConnect 同样是通过 OpenIdConnectHandler来请求授权的 那么它内部又是怎 ...
- HBuilder支持jquery、zepto、angular、ext、dojo 等js框架的提示吗
HBuilder有通行的js扫描分析提示,大部分js库都可以方便的提示.但js是一门超级灵活的语言,通行分析有时分析的不够完美,如果对框架做单独优化配置,可以有更好的提示.DCloud官方对jquer ...
- php用json_encode中文问题
echo json_encode($arr,JSON_UNESCAPED_UNICODE); 用这个中文就不会被转码了
- 【BZOJ2839】集合计数&&【BZOJ3622】已经没有什么好害怕的了
再谈容斥原理来两道套路几乎一致的题目[BZOJ2839]集合计数Description一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交 ...
- C#编程语法积累(二)
9.Lambda表达式 [1]Lambda表达式缩写推演,如下图: [2]Lambda语句:=>右边有一个语句块(大括号"{}"):Lambda表达式:=>右边只有一个 ...
- python学习之基本数据类型
python的基本数据类型有数字.字符串.列表.字典.元祖.布尔值 一.数字 1.1.字符转换为数字 实例: a=" b=int(a) print(b+) 运行结果: 可以用type查看数据 ...