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学习笔记的更多相关文章

  1. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  2. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  3. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  4. Mysql学习笔记(一)数据类型

    原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m ...

  5. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  6. MySQL学习笔记-锁相关话题

    在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因.   Mysql常用存储引擎的锁 ...

  7. MySQL学习笔记-事务相关话题

    事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...

  8. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  9. MySQL学习笔记-数据库内存

    数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...

  10. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

随机推荐

  1. David McCullough, Jr.为韦斯利高中毕业生演讲〈你并不特别〉

    Dr. Wong, Dr. Keough, Mrs.Novogroski, Ms. Curran, members of the board of education, familyand frien ...

  2. 数据库的连接使用——使用ADO.NET连接数据库

    一.ADO.NET简介 ADO.NET是由很多类组成的一个类库,这些类库提供了很多对象,用来完成数据的连接.查询.插入.更新和删除等操作.其中主要包括以下对象: 1.Connection对象:用来连接 ...

  3. makefile 中autoload

    在openwrt的makefile中经常能看见这样的描述: define KernelPackage/mt7602e  CATEGORY:=MTK Properties  TITLE:=MTK MT7 ...

  4. [学习笔记]JS 数组Array push相关问题

    前言: 今天用写了一个二维数组,都赋值为零,然后更新其中一个值,结果和预期是不一样,会整列的相同位置都是同一个值. 1.用Chrome的控制台样例如下: arrs[2][2] =1的赋值,竟然是三个数 ...

  5. STM32F412应用开发笔记之九:移植FreeRTOS到F412ZG平台

    在开发实际应用系统时,我们经常需要考虑数据的实时性和多任务,嵌入式实时操作系统的出现为实现这一目的提供了很好的助力.FreeRTOS是近年来比较流行的嵌入式实时操作系统,而且是开源免费的,STM32C ...

  6. OCM_第十五天课程:Section6 —》数据库性能调优 _SQL 访问建议 /SQL 性能分析器/配置基线模板/SQL 执行计划管理/实例限制

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  7. 测试开发之Django——No7.Django模板中的过滤器

    1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...

  8. laravel job 与 event 的区别

    job 是异步执行.适合耗时长的任务.例如,批量发送邮件,短信. event 是在 request 的生命周期内执行.适合耗时短的操作.例如,更改数据字段状态. 但是, event 的好处是,可以复用 ...

  9. ECMAscript5 新增数组内函数

    indexOf() 格式:数组.indexOf(item, start) 功能:从start这个下标开始,查找item在数组中的第一次出现的下标. 参数:item 我们要去查找的元素 start从哪个 ...

  10. [ZJOI2006]书架

    链接:https://www.luogu.org/problemnew/show/P2596 题解: 写了两天的平衡树终于大概弄好了所有模板(模板不熟写错debug真是要死) 对于放在头尾,只需要删除 ...