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

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

 <?php
// This won't work because of the quotes around specialH5!
echo "<h5 class="specialH5">I love using PHP!</h5>";
// OK because we escaped the quotes!
echo "<h5 class=\"specialH5\">I love using PHP!</h5>";
// OK because we used an apostrophe '
echo "<h5 class='specialH5'>I love using PHP!</h5>";
?>

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

 $my_string = <<<TEST
Tizag.com
Webmaster Tutorials
Unlock your potential!
TEST;
echo $my_string;

输出结果:

 Tizag.com Webmaster Tutorials Unlock your potential!

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

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

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

PHP代码片段:

 $quantity = $_POST['quantity'];
$item = $_POST['item'];

2). GET

HTML代码片段:

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

PHP代码片段:

 $quantity = $_GET['quantity'];
$item = $_GET['item'];

3). 两者区别

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

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

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

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

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

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

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

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

  结果如下:

 The position of 5 in our string was 4

 Finding All Occurrences in a String with Offset

  举例如下:

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

  结果如下:

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

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

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

  结果如下:

 Raw Phone Number = 800-555-5555
First chunk = 800
Second chunk = 555
Third Chunk chunk = 5555

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

读书笔记:php_tizag_tutorial的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  7. LOMA280保险原理读书笔记

    LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...

  8. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  9. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

随机推荐

  1. leetcode第一刷_Construct Binary Tree from Inorder and Postorder Traversal

    这道题是为数不多的感觉在读本科的时候见过的问题. 人工构造的过程是如何呢.兴许遍历最后一个节点一定是整棵树的根节点.从中序遍历中查找到这个元素,就能够把树分为两颗子树,这个元素左側的递归构造左子树,右 ...

  2. Threads and Anonymous Classes in JAVA

    As we all know,a thread is a separate process on your computer.you can run multiple threads all at t ...

  3. libevent入门

    Libevent API =============================== evtimer_new evtimer_new(base, callback, NULL) 用来做定时器,即当 ...

  4. config -导航

    在config进行中配置 1在config中添加SITmap  <siteMap enabled="true" defaultProvider="UserSiteM ...

  5. 【前端】一句命令快速合并压缩 JS、CSS

    引用自:一句命令快速合并 JS.CSS 在项目开发环境下,我们会把 JS 代码尽可能模块化,方便管理和修改,这就避免不了会出现一个项目自身 JS 文件数量达到10个或者更多. 而项目上线后,会要求将所 ...

  6. Servlet转发和重定向的区别

    附上视频教学的一张图: 区别: 1.转发产生一次请求,一次响应: 重定向产生2次请求 两次响应 2.转发客户端不可见的: 重定向客户端是可以察觉的. 3.转发时候url不变: 重定向URL会改变 案例 ...

  7. openrisc 之 Wishbone总线学习笔记——总线互联

    一,总线命名规范 1,wishbone总线接口信号都是高电平有限 2,wishbone接口信号都是以 _i ,或者是 _o 结束.i表示输入, o表示输出. ()表示该信号为总线信号,总线位宽可以大于 ...

  8. 转:jQuery事件绑定.on()简要概述及应用

    前几天在看<jquery基础教程>,看到事件委托的时候,关于live()方法讲的不是很详细,就去搜了一下关于live()和delegate()的. 然后在一处看到live()已经被移除了, ...

  9. 如何用java比较两个时间或日期的大小

    有一个字符串的时间,比如"2012-12-31 16:18:36" 与另一个时间做比较,如果前者比后者早,则返回true,否则返回false. 为此,我设计了一个方法. impor ...

  10. boost::bind的使用方法

    bind - boost 头文件: boost/bind.hpp bind 是一组重载的函数模板.用来向一个函数(或函数对象)绑定某些参数. bind的返回值是一个函数对象. 它的源文件太长了. 看不 ...