总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来。

一、第一篇 使用PHP

1.php中的注释。php支持c、c++和shell脚本风格注释  /**/多行注释  //单行注释  # 单行注释

2.date()函数。  date("H:i:s");  //15:24:23  date("ymd");  //20130707

3.使用$_POST['username'] $_GET'['username']来得到表单内容,取决于提交表单时使用的方法是post 还是get。无论使用什么方式,都可以使用$_REQUEST['username']来得到表单内容。

4.标识符是变量名称的名称,标识符可以是任何长度。由字母、数字、下划线组成。不能以数字开始。标志符区分大小写,但是函数名称是个例外,函数名不区分大小写。php的特性之一就是它不要求在使用变量之前声明变量。

5.php中的8种数据类型,6种常用,2种不常用。

 Integer(整数)  用来表示整数

 Float(浮点数,也叫Double,双精度值)  用来表示所有实数

 String(字符串)  用来表示字符串

 Boolean(布尔值)  用来表示true 或false

 Array(数组)    用来保存具有相同类型的多个数据项。

 Object(对象)   用来保存类的实例

还有两个特殊的类型:NULL(空)和resource(资源)没有被赋值,已经被重置的为NULL。特定的内置函数(例如数据库函数)将返回resource类型的变量。

6.声明和使用常量  define('OILPRICE',100); 没有$符号  使用时直接使用名称即可。 echo OILPRICE;  可以使用phpinfo()来查看php预定义的许多常量。

7.变量的作用域

 超级全局变量,它们可以在任何地方使用和可见。$GLOBALS['myvariable']  $_SERVER 服务器环境变量数组 $_GET $_POST  $_COOKIE  $_FILES与文件上传相关的变量数组  $_ENV 环境变量数组  $_REQUEST 所有用户输入的变量 数组,包括$_GET $_POST 和$_COOKIE所包含的输入内容。  $_SESSION 会话变量数组

8. $a and $b  $a or $b 与 $a && $b  $a || $b 作用相同,但是前者的优先级要低。

9.错误抑制操作符 。错误抑制操作符@可以在任何表达式前面使用,例如 $a = @(57/0);如果没有@操作符,代码会产生一个除0警告,使用这个操作符,警告会被抑制住。

10.执行操作符。它是一对反向单引号`` 在键盘上数字1的左边。在windows 上可以使用如下代码得到c盘下的文件列表

$output = `dir c:`;
echo "<pre>$output</pre>"

11.一些常用函数的使用

$a = 4;
echo gettype($a).'<br>'; //得到数据类型
settype($a,'double'); //设置数据类型
echo gettype($a)

is_array()检查变量是否是数组,is_double() is_string()   is_null() 检查变量是否为null    is_scalar() 检查该变量是否是标题,即一个整数,浮点数,布尔值,字符串。is_numeric() 检查该变量是否是任何类型的数字或字符串。is_callable() 检查该变量是否是有效的函数名称。

isset()用来测试变量的状态。如果变量存在,则返回true。与之相对的unset()函数来销毁一个变量。bool empty() 可以用检查一个变量是否存在,以及它的值是否为非空和非0,返回true 或false.

12.if 语句

$a = 69;
if($a>90){
echo "a is bigger than 40";
}elseif($a>50) {
echo "a is bigger than 50";
}else {
echo "last";
}
//如果有一个条件成立,则以后的语句就不会再执行了,这一点和 switch遇到 break:语句时才会停止是不相同的。
//如果使用了 if else 后面不能再加elseif 通常情况即用{}来将条件语句后面的值括住时, else if 与 elseif 作用相同
//但是手册上说如果如果不是用花括号,而是用: 则只能用 elseif ,用else if 时会出现编译错误 需要注意的是与: 匹配的是 endif

13.如果希望停止一段代码的执行,可以有3种方法。在switch循环时可以用break; 在for循环中如果希望跳到下一次循环,可以使用continue语句。如果希望结束整个php脚本的执行,可以使用exit;

14.php中的文件处理。

  要在php中打开一个文件,可以使用fopen()函数。$fp = fopen('ordes.txt', 'ab' , true);  如果fopen()成功打开了一个文件,该函数返回一个指向这个文件的文件指针。文件指针保存在$fp中,当希望读写这个文件时,将使用这个变量来访问文件。

   php中写文件,fwrite($fp, $outputstring ,strlen($outputstring));  将保存在$outputstring中的字符串写入到$fp指向的文件中。 strlen()用来得到字符串的长度。

  关闭文件。fclose($fp); 如果文件被成功地关闭,函数将返回一个true值,反之,该函数将返回false;

  知道何时读完文件 feof()   全称File End Of File  。 while(! feof($fp))  用while循环来读取文件,直到文件末尾。

  每次读取一行数据。fgets() 、fgetss()、fgetcsv()  $order = fgets($fp ,999) ; fgetss()与fgets()相似,但是它可以过滤字符串中包含的php和html标记。

  读取整个文件。 readfile()、fpassthru() 、file() 。readfile('ordes.txt');  打开文件并将内容输出来浏览器中

  $fp = fopen('ordes.txt', 'ab' , true);   fpassthru($fp); 如果操作成功,fpassthru()返回true,否则返回false

  $filearray = file('orders.txt');  将整个文件读入到一个名为$filearray的数组中,文件中的第一行都将作为一个元素保存在这个数组中。

  读取一个字符。fgetc()  。 $char = fgetc($fp);

  读取任意长度 fread()。 string fread(resource fp, int length);

  查看文件是否存在。file_exists  确定文件大小 filesize()  nl2br() 函数将输出的\n字符换成html的换行符<br/>

  删除一个文件。unlink() 无法删除将返回false 。php中没有名为delete的函数。

  rewind()可以将文件指针复位到文件的开始。ftell()可以以字节为单位报告文件指针当前在文件中的位置 。fseek()可以将文件指针指向文件的某个位置。

  文件锁定。flock()

15.php中的数组。

echo '<br>';        //数组的使用1
$products = array('car','picture','camara');
foreach($products as $m){
echo $m." ";
} echo '<br>'; //数组的使用2 $products2 =array('car'=>'bmw','house'=>'miantian');
foreach($products2 as $key =>$m){
echo "$key". "$m"." ";
} echo '<br>'; //数组的使用3 list可以将一个数组分解成一系列的值
reset($products2); //reset函数将数组内部的指针倒回到第一个单元,并返回数组的第一个元素的值,如果数组为空则返回false
//echo reset($products2); 输出bmw
while(list($key,$value) = each($products2)){ // 使用each时,如果上面已经用到了$products2,则必需要用reset将当前元素重置到数组的开始处
echo "$key-->"."$value"." ";
}

16.数组的排序

$prices = array('Trice'=>100,'Oil'=>10,'Plugs'=>4,'acc'=>5);
asort($prices);
var_dump($prices); //4,5,10,100 按照数组的值来进行升序排列 arsort 反向排序 krsout也是反向 echo '<br>';
ksort($prices);
var_dump($prices); //Oil,Plugs,Trice acc ksort按照数组的关键值进行升序排序,应该是按ascii排序的 a为97 小写字母比大写子母大。 echo '<br>';
sort($prices);
var_dump($prices); //array(4) { [0]=> int(4) [1]=> int(5) [2]=> int(10) [3]=> int(100) } 使用sort之后,会对数组的关键字重新赋值成数值,故最好只用于1维数组
// sort 是对值进行升序排序,如果仅仅是用于一维数组,且其关键字为数字 则其功能与 asort()相同。
echo '<br>';
$arr4=array(35,26,58,96,12,36,48);
shuffle($arr4); //随机排序
print_r($arr4); echo '<br>';
$arr5=array(35,26,58,96,12,36,48);
$arr6 = array_reverse($arr5); //反向排序 Array ( [0] => 48 [1] => 36 [2] => 12 [3] => 96 [4] => 58 [5] => 26 [6] => 35 )
$arr6 = array_reverse($arr5,true); //Array ( [6] => 48 [5] => 36 [4] => 12 [3] => 96 [2] => 58 [1] => 26 [0] => 35 ) 如果参数加了true 会保留原来的键名
print_r($arr6);

17.数组的其它操作

每个数组都有一个内部指针指向数组中的当前元素。当使用each()时,就间接地使用了这个指针。

如果创建一个新数组,那么当前指针就被初始化,并指向数组的第一个元素。调用current($array_name)将返回第一个元素

调用next()或each()将使指针前移一个元素。each($array_name)会在指针前移一个位置之前返回当前元素,而next($array_name) 是将指针前移,返回新的当前元素。

reset($array_name)返回指向数组第一个元素的指针,end(array_name)将指针移到数组末尾。分别返回数组的第一个元素和最后一个元素。

prev()函数和next()函数相反。将当前指针往回移一个位置然后再返回新的当前元素。

使用each() current() reset() end() next() pos() prev()可以自己编写任何顺序浏览数组的代码。以下为反向输入数组元素例子。

$array = array(1,2,3);
$value = end($array);
while($value){
echo "$value <br>";
$value = pre($array);
}

对数组的每一个元素使用相同方式修改。使用 array_walk()函数。

18.字符串的格式化

21.require('demo.php'); 与include('demo.php');

二、使用MySql

1.

《php和mysql web开发》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. 初步接触html心得

    接触HTML大概有七天,做一下小总结,过过记忆. html大致可分为三部分:Dtd头.Head.Body三大部分. Dtd头:是用于浏览器编辑的,也就是俗话说的给电脑看的的东西. Head:内细分下大 ...

  2. git命令(流程)

    1,配置你的信息: git config --global user.name 你的名字 git config --global user.email 你的邮箱 --global 表示所有git仓库都 ...

  3. Linux - 查看系统的版本信息

    在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...

  4. SQLserver中的常量与变量、判断循环语句

    数据库中的变量与常量 数据库中定义变量 [起临时存储数据的作用] ---数据库中定义变量(运行时要从头到尾进行运行,从定义变量开始到赋值) --前面必须加 declare --定义变量 :    de ...

  5. static的应用以及静态与非静态的区别

    先前看到一个技术大牛写了一个关于静态成员与非静态成员,静态方法和非静态方法的各自区别,觉得挺好的,在这里写一个小程序来说明这些区别. package com.liaojianya.chapter5; ...

  6. Codevs 3289 花匠 2013年NOIP全国联赛提高组

    3289 花匠 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 花匠栋栋种了一排花,每株花都 ...

  7. Linux中的sed

    sed [选项] [动作] 文件 选项:     -n :静默模式.使用-n则只有经过sed处理的那一行.     -e :允许多重编辑:       -f :结果默认输出到终端,使用-f会将结果写在 ...

  8. 【HeadFirst设计模式】9.迭代器与组合模式

    迭代器: 定义: 提供一种方法,顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示.(不让你知道我内部是如何聚合的) 把游走的任务放在迭代器上,而不是聚合上.这样简化了聚合的接口和实现,也让责任 ...

  9. Linux负载均衡概念与实践(一)

    根据网上文章整理. 负载均衡软件LVS(Linux Virtual Server)概念篇 lvs是在linux操作系统基础上建立虚拟服务器,实现服务节点之间的负载均衡.它是基于linux内核实现的.2 ...

  10. IIS tilde directory enumeration 漏洞以及解决方案

    2015年6月16日15:19:24  出现 IIS tilde directory enumeration 漏洞 Acunetix Web Vulnerability Scanner 9.5 测试出 ...