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. 【转】CString与string、char*的区别和转换

    我们在C++的开发中经常会碰到string.char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆.下面详细介绍这三者的区别.联系和转换: 各自的区别 char*: ...

  2. ajax post 传参数加引号和不加引号的区别

    1.前言 用ajax技术,type:post,data:参数列表.参数列表就是一个JSON数据,但key可以加引号,也可以不加引号,那总有区别的. 2.区别 var d2 = "two&qu ...

  3. css之absolute

    一.absolute和float有相同的特性,包裹性和破坏性 1.absolute和float的相似(看下面的demo,如果图片在左上角,那么用float和absolute都一样) <!doct ...

  4. 使用git pull提示refusing to merge unrelated histories

    创建了一个origin,两个人分别clone 分别做完全不同的提交 第一个人git push成功 第二个人在执行git pull的时候,提示 fatal: refusing to merge unre ...

  5. All about the “paper”

    博采众长吧,看到有用的就记下来,提醒自己,方便他人. 1.good idea. 写论文,good idea很重要 2.看论文. 网友经验:看论文学知识的效率远比看书要快的多,很多人在刚开始看论文的时候 ...

  6. 大坑啊oracle的隐式转换

    (25)禁止使用属性隐式转换 解读:SELECT uid FROM t_user WHERE phone=13812345678 会导致全表扫描,而不能命中phone索引,猜猜为什么?(这个线上问题不 ...

  7. tomcat 输入学习

    Tomcat学习—Tomcat7 修改/webapps/ROOT发布路径(Linux和windows环境) https://blog.csdn.net/u010648555/article/detai ...

  8. web----Twisted

    Twisted模块: Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等.

  9. JavaScript错误:Maximum call stack size exceeded错误

    错误的表面意思是,因为递归次数太多而内存溢出, 当然引起溢出的原因很多 找了下问题来源,发现引用了两个版本的jquery,在layout.cshtml母模块页中和视图中都引用了jq.导致循环调用,从而 ...

  10. VS2010发布、打包安装程序(超全超详细)

    1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...