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. ioremap 与 mmap【转】

    转自:http://blog.csdn.net/junllee/article/details/7415732 内存映射 对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件 ...

  2. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  3. 【转】深入浅出JMS(一)--JMS基本概念

    摘要 The Java Message Service (JMS) API is a messaging standard that allows application components bas ...

  4. sqlserver2008r2数据库关联孤立账号的方法

    重新安装mssql数据库后可能有这样的问题,     在数据还原到其他服务器时,登录名会丢失,重建非常麻烦     特別是数据库用户较多的的情况,其实这个问题解决非常简单,     sql serve ...

  5. webpack 4.0.0-beta.0 新特性介绍

    webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...

  6. vue2之对象属性的监听

    对象属性监听的两种方法: 1.普通的watch data() { return { frontPoints: 0 } }, watch: { frontPoints(newValue, oldValu ...

  7. 关于java中Stream理解

    关于java中Stream理解 Stream是什么 Stream:Java 8新增的接口,Stream可以认为是一个高级版本的Iterator.它代表着数据流,流中的数据元素的数量可以是有限的, 也可 ...

  8. poj2114 树分治(点分治)

    poj1741板子套一套,统计对数的方式改一下,可以在O(n)时间内统计对数 最后不要忘记输出最后的“.” /* 给定一棵边权树,是否存在一条路径使得其长度为恰好为x 把1741的板子改为求点对之间的 ...

  9. 步步为营-30-AES加密与解密

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. Zookeeper笔记(二)Paxos算法与Zookeeper的工作原理

    Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目, 它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管 ...