读书笔记:php_tizag_tutorial

  昨天在实验室花了一天时间看了英文版的php_tizag_tutorial,因为上学期用php和bootstrap写过一个租房网站,对php还是比较熟悉.现在总结一下php_tizag_tutorial里面一些没用过或者遗忘的知识点.

1.打印的字符串里面包含引号时,要注意采取下面的两种方式之一:
1). 在引号前加上反斜杠"\".
2). 使用单引号.
举例如下:

1 <?php
2 // This won‘t work because of the quotes around specialH5!
3 echo "<h5 class="specialH5">I love using PHP!</h5>";
4 // OK because we escaped the quotes!
5 echo "<h5 class=\"specialH5\">I love using PHP!</h5>";
6 // OK because we used an apostrophe ‘
7 echo "<h5 class=‘specialH5‘>I love using PHP!</h5>";
8 ?>

2.String Creation Heredoc
  使用<<<和自定义的一些标识符(这里用的是TEST)开始字符串的heredoc,最后以"标识符;"作为结束标志.
注意标识符要在单独一行,不可缩进.
举例如下:

1 $my_string = <<<TEST
2 Tizag.com
3 Webmaster Tutorials
4 Unlock your potential!
5 TEST;
6 echo $my_string;

输出结果:

1 Tizag.com Webmaster Tutorials Unlock your potential!

3.include函数与require函数的区别
  使用include函数时,若出现错误,只是提出警告,代码依然执行下去;使用require函数时,则会报错,并且终止执行下去.
强烈推荐使用后者.

4.POST与GET的区别
1). POST
HTML代码片段:

1 <form action="process.php" method="post">
2 <select name="item">
3 ...
4 <input name="quantity" type="text" />

PHP代码片段:

1 $quantity = $_POST[‘quantity‘];
2 $item = $_POST[‘item‘];

2). GET

HTML代码片段:

1 <form action="process.php" method="get">
2 <select name="item">
3 ...
4 <input name="quantity" type="text" />

PHP代码片段:

1 $quantity = $_GET[‘quantity‘];
2 $item = $_GET[‘item‘];

3). 两者区别

  GET传递数据是通过url,上面的例子中跳转到process.php页面是,会在url后面附上"?item=##&quantity=##",其中?是告诉浏览器接下来的这几项是变量.所以,传递重要信息如密码等,就不要使用GET方式传递数据,这样会完全暴露出来,非常不安全.

5.PHP创建文件
  在PHP中,fopen函数用于打开一个文件,当该文件不存在时,就创建该文件.

1 $ourFileName = "testFile.txt";
2 $ourFileHandle = fopen($ourFileName, ‘w‘) or die("can‘t open file");
3 fclose($ourFileHandle);

6.PHP打开文件
  打开文件的方式有几种:
1). Read: ‘r‘
只读,文件指针在文件开头.
2). Write: ‘w‘
只写,文件指针在文件开头.而且会把之前的内容覆盖.
3). Append: ‘a‘
只写,文件指针在文件末尾.

7.PHP删除文件
  使用unlink函数.

1 $myFile = "testFile.txt";
2 unlink($myFile);

8.PHP在字符串里匹配字段
  使用strpos函数返回相应字段位置.
  举例如下:

1 $numberedString = "1234567890"; // 10 numbers from 1 to 0
2 $fivePos = strpos($numberedString, "5");
3 echo "The position of 5 in our string was $fivePos";

  结果如下:

1 The position of 5 in our string was 4
2
3 Finding All Occurrences in a String with Offset

  举例如下:

1 $numberedString = "1234567890123456789012345678901234567890";
2 $offset = 0; // initial offset is 0
3 $fiveCounter = 0;
4 while($offset = strpos($numberedString, "5", $offset + 1)){
5 $fiveCounter++;
6 echo "<br />Five #$fiveCounter is at position - $offset";
7 }

  结果如下:

1 Five #1 is at position - 4
2 Five #2 is at position - 14
3 Five #3 is at position - 24
4 Five #4 is at position - 34

9.PHP分割字符串
  使用explode函数.
  举例如下:

1 $rawPhoneNumber = "800-555-5555";
2 $phoneChunks = explode("-", $rawPhoneNumber);
3 echo "Raw Phone Number = $rawPhoneNumber <br />";
4 echo "First chunk = $phoneChunks[0]<br />";
5 echo "Second chunk = $phoneChunks[1]<br />";
6 echo "Third Chunk chunk = $phoneChunks[2]";

  结果如下:

1 Raw Phone Number = 800-555-5555
2 First chunk = 800
3 Second chunk = 555
4 Third Chunk chunk = 5555

10.PHP连接字符串
  使用implode函数.

时间: 2024-08-05 03:35:00

读书笔记:php_tizag_tutorial的相关文章

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关

《C#图解教程》读书笔记之五:委托和事件

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所"持有"的方法.如果从C++的角度来理解委托,可以将其理解为一个类型安全的.面向对象的函数指针. (2)如何使用委托? ①声明委托类型(delegate关键字) ②使用该委托类型声明一个委托变量 ③为委托类型增加方法 ④调用委托执行方法 (3)委托的恒定性: 组合委托.为委托+=增加

《Effective C++》读书笔记汇总

我之前边读<Effective C++>边写下每个条款的读书笔记,这一版是C++11之前的版本.这里我将每个条款令我印象深刻的点小结一下. 1.C++包括:Plain C(面向过程).OOP(面向对象).模板(泛型和模板元编程).STL(C++标准库). 2.用inline.enum.const代替#define.#define定义的宏,一旦复杂起来,高手都很难掌控.不要带入C的习惯. 3.灵活使用const前缀.不需要进行改变的数据加上const前缀.指针的const前缀有两种形式,cons

【读书笔记】《Linux内核设计与实现》内核同步介绍&内核同步方法

简要做个笔记,以备忘. 需同步的原因是,我们并发访问了共享资源.我们将访问或操作共享资源的代码段称"临界区",如果两个执行线程处于同一临界区中同时执行,称"竞争条件".这里术语执行线程指任何正在执行的代码实例,如一个在内核执行的进程.一个中断处理程序或一个内核线程. 举个简单例子,i++操作.该操作可以转换为下面的机器指令序列: 1.得到当前变量i的值,并保存到一个寄存器. 2.将寄存器的值加1. 3.将i的新值写回到内存中. 当两个线程同时进入这个临界区,若i初值

鸟哥的Linux私房菜 基础学习篇读书笔记(7):Linux文件与目录管理

这一章主要讲述的是如何操作与管理Linux系统中的文件和目录,主要包括目录间的切换,目录的创建与删除,文件的创建与删除,文件的查找,文件内容的查看等等. 前一章中已经讲过相对路径以及绝对路径,绝对路径就是指从根目录("/")开始写起的路径名,而相对路径绝不会由根目录开始写起,相反,相对路径是相对于当前工作目录的路径名.Linux操作系统中有几个特殊的目录: . 代表此层目录: .. 代表上一层目录: - 代表前一个工作目录: ~ 代表当前用户身份所在的主文件夹: ~account 代表

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

《巴菲特与索罗斯的投资习惯》读书笔记

巴菲特与索罗斯的投资习惯 收益与风险 收益越高风险越大,或者风险越大收益越高都是没有道理的,风险和收益逻辑上不一定是正相关的,只不过收益越高,人们愿意承担的风险越高而已. 降低风险的同时提高收益是不矛盾的.但风险控制应优先于收益. 同样的事情,对你来说是危险的,但对于高手来说则没有风险,因此,为了降低风险,尽力成为高手吧 关于投资 赚钱只是投资的目的而已,投资策略才是投资的手段. 只是将注意力集中在目的上是没有意义的,因为它只是你的手段所产生的自然结果. 因此我们需要把注意力几种在对投资策略的调

Javascript读书笔记:函数定义和函数调用

定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方式: var add = new Function("m", "n", "alert(m+n);"); Function类构造方法的最后一个参数为函数体:"alert(m+n);",前面的都是函数的形参,参数必须是字符串形式的:&

《Java编程那点事儿》读书笔记(七)——多线程

1.继承Thread类 通过编写新的类继承Thread类可以实现多线程,其中线程的代码必须书写在run方法内部或者在run方法内部进行调用. public class NewThread extends Thread { private int ThreadNum; public NewThread(int ThreadNum){ this.ThreadNum = ThreadNum; } public void run(){ try{ for(int i = 0;i < 10;i ++){ T