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. dubbo系列二、dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台)

    一.zookeeper配置中心安装 1.下载安装包,zookeeper-3.4.6.tar.gz 2.解压安装包,修改配置文件 参考zookeeper-3.4.6/conf/zoo_sample.cf ...

  2. 【转】使用SevenZipSharp压缩、解压文件

    引用 下载之后引用“SevenZipSharp.dll”至项目中,然后将“7z.dll”放到bin目录下,或者这样引用:SevenZipCompressor.SetLibraryPath(" ...

  3. shell无法捕获程序输出的问题

    dir_name=`echo ~gtp` 获取的用户目录为/ dir_name=`echo ~gtp 2>&1` 这样就可以获取到了 参考网址:https://blog.csdn.net ...

  4. Linux中涉及到计算优先级及其他问题

    比如计算矩形周长: a= b= echo `expr \* $((a+b))` 1.expr外要使用反引号,且expr只支持整数计算,如果涉及到浮点数计算要采用下面方法 2.优先计算a+b时,要使用双 ...

  5. Project Euler Problem7

    10001st prime Problem 7 By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see t ...

  6. 反向代理负载均衡之APACHE

    反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...

  7. CentOs 6.6里kdump启动失败的原因

    在VMware中新安装了CentOs 6.6,重启系统发现kdump服务启动失败 先来说一下,什么是kdump kdump 是一种先进的基于 kexec 的内核崩溃转储机制.当系统崩溃时,kdump ...

  8. QQ空间说说如何批量删除

    事件背景: 今天突发奇想,想把自己之前发的说说都删除了,结果就有了下面的代码 1.按F12 2.点击 Console,进入Console项 3.使用以下代码: var delay = 1000; fu ...

  9. IntelliJ IDEA创建JavaWeb工程及配置Tomcat部署

    步骤: 在WEB-INF 下创建classes 和 lib 两个文件夹 右上角一个蓝色的按钮... Modules选项卡,Paths下的配置...输出路径选择classes Dependencies选 ...

  10. css系列之box-sizing

    转载自:http://zh.learnlayout.com/box-sizing.html 人们慢慢的意识到传统的盒子模型不直接,所以他们新增了一个叫做 box-sizing 的CSS属性.当你设置一 ...