1.      PHP is Hypertext Preproocessor。
2.      Hello World:

<?php

Echo ‘Hello World!’;

?>

3.      标记风格:
a)       <?php ?>
b)       <script language=”php”></script>
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. Windows驱动——读书笔记《Windows驱动开发技术详解》

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  2. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  3. TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

    TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...

  4. 【转】TCP/IP详解学习笔记(二)

    TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据 ...

  5. 孙鑫视频VC++深入详解学习笔记

    孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Le ...

  6. Python开发技术详解(视频+源码+文档)

    Python, 是一种面向对象.直译式计算机程序设计语言.Python语法简捷而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结 ...

  7. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  8. TCP-IP详解学习笔记2

    TCP-IP详解学习笔记2 链路层 链路层的目的是为IP模块发送和接收IP数据报: TCP/IP支持多种不同的链路层,依赖于使用网络硬件类型:有线局域网(以太网,城域网(MAN),有线语音网络).无线 ...

  9. Python开发技术详解PDF

    Python开发技术详解(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1F5J9mFfHKgwhkC5KuPd0Pw 提取码:xxy3 复制这段内容后打开百度网盘手 ...

随机推荐

  1. Android:Style和Theme

    在Web开发中,Html负责内容,CSS负责表现.同样,在Android开发中,可以使用Theme.Style+UI组件的方式实现内容和形式的分离. Style是针对窗体元素级别的,改变指定控件或者L ...

  2. Maven中聚合与继承

    何为继承? --›继承为了消除重复,我们把很多相同的配置提取出来 --›例如:grouptId,version等 就像写java程序一样,对于有共性切重复的东西,就提取出来. 如有三个pom.xml配 ...

  3. POJ2418——Hardwood Species(map映射)

    Hardwood Species DescriptionHardwoods are the botanical group of trees that have broad leaves, produ ...

  4. 隐马尔科夫模型,第三种问题解法,维比特算法(biterbi) algorithm python代码

    上篇介绍了隐马尔科夫模型 本文给出关于问题3解决方法,并给出一个例子的python代码 回顾上文,问题3是什么, 下面给出,维比特算法(biterbi) algorithm 下面通过一个具体例子,来说 ...

  5. 【转】Java多线程学习

    来源:http://www.cnblogs.com/samzeng/p/3546084.html Java多线程学习总结--线程概述及创建线程的方式(1) 在Java开发中,多线程是很常用的,用得好的 ...

  6. PHP内置的Web Server的使用

    自PHP5.4之后 PHP内置了一个Web 服务器. 让我们来看看php Web Server的简单使用: 启动php Web Server php -S localhost:8080 通过 php ...

  7. [面试题] BloomFilter 无序40亿不重复 uint 整数, 给予任意的数,求是否在这40亿之中 + 无序数组中找2个相同的值

    一道百度面试题(待解中) 具体:给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中? 分析下,首先应该是空间复杂度(40亿uint ...

  8. javascript六难题

    1.下面代码的运行效果是什么?为什么? <html> <head> <meta charset="utf-8"> <title>DO ...

  9. 33、多线程断点下载的实现&界面的更新

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  10. HDU 3001 Travelling 3进制状压dp

    题意:10个点,若干条边,边有花费,每个点最多走两次,求走过所有点,花费最少 分析:因为每个点最多走两次,所以联想到3进制,然后枚举状态,就行了(我也是照着网上大神的代码写的) #include &l ...