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

一、第一篇 使用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. [转载]Ubuntu 14.04设置固定ip

    参考链接: ubuntu14.04设置静态ip Ubuntu10.10的网络配置 (总结的比较好些) 由于我的虚拟机中的Ubuntu 14.04中,只安装了一个gitlab,gitlab中配置了固定i ...

  2. dedecms自定义函数(二次开发)

    一些功能可能dedecms没有,这个时候可以自己写一些函数: 1.打开inlude->extend.func.php,将函数写到里面 比如:前台: [field:id function=&quo ...

  3. js 获取url中的查询字符串

    function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)( ...

  4. ASP实现用年月日时分秒和两位随机数字来作为上传文件名的函数

    Public Function GetNewFileName() dim ranNum dim dtNow dtNow=Now() randomize ranNum=int(90*rnd)+10 Ge ...

  5. Unity3d不支持vistual studio2012?用vs2012打开unity c#脚本进行编码的方法。

    unity3d是支持vs2010的,但是有很多开发者反应,unity3d中的C#脚本不能用vs2012打开.我想了一下,先进入存放C#脚本的目录,在设置里面C#文件的打开方式,选择用vs2012打开, ...

  6. linux添加用户、用户组、权限

    # useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假 ...

  7. Kettle ETL 来进行mysql 数据同步——试验环境搭建(表中无索引,无约束,无外键连接的情况)

    今天试验了如何在Kettle的图形界面(Spoon)下面来整合来mysql 数据库中位于不同数据库中的数据表中的数据. 试验用的数据表是customers: 第三方的数据集下载地址是:http://w ...

  8. serialize

    Jquery的serialize()方法用于将表单元素转换为查询字符串格式, Submit按钮及File选择元素是不能序列化的. $('input:button').click(function() ...

  9. 转 Java中Filter、Servlet、Listener的学习

      1.Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个requ ...

  10. myeclipse-8.6.0下载

    myeclipse老版本不分32位和64位,欢迎大家下载使用! 链接:http://pan.baidu.com/s/1dEJCxcl 密码:z1ga