PHP学习笔记(1)--基础知识篇

简介:  PHP学习笔记(1)(每天进步一点点) 1. 基本的 PHP 语法示例代码:PHP 中的每个代码行都必须以分号结束。
 

PHP学习笔记(1)(每天进步一点点)

 

1. 基本的 PHP 语法

示例代码:

<html>

<body>

<?php

echo "Hello World";

?>

</body>

</html>

PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

有两种通过 PHP 来输出文本的基础指令:echo 和 print。在上面的例子中,我们使用了 echo 语句来输出文本 "Hello World"。

2. PHP 中的变量

变量用于存储值,比如数字、文本字符串或数组。

一旦设置了某个变量,我们就可以在脚本中重复地使用它。

PHP 中的所有变量都是以 $ 符号开始的。

在 PHP 中设置变量的正确方法是:

例:$var_name = value;

3.  并置运算符(Concatenation Operator)

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。

要把两个变量连接在一起,请使用这个点运算符 (.) :

<?php

$txt1="Hello World";

$txt2="1234";

echo $txt1 . " " . $txt2;

?>

以上代码的输出:

Hello World 1234您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。

为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。

4.使用 strpos() 函数

strpos() 函数用于在字符串内检索一段字符串或一个字符。

如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。

 

让我们试一下,是不是能在字符串中找到子字符串 "world":

<?php

echo strpos("Hello world!","world");

?>

以上代码的输出是:

6

正如您看到的,在我们的字符串中,字符串 "world" 的位置是 6。返回 6 而不是 7,是由于字符串中的首个位置的 0,而不是 1。

5. 数值数组

数值数组存储的每个元素都带有一个数字 ID 键。

可以使用不同的方法来创建数值数组:

例子 1

在这个例子中,会自动分配 ID 键:

$names = array("Peter","Quagmire","Joe");

例子 2

在这个例子中,我们人工分配的 ID 键:

$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";

可以在脚本中使用这些 ID 键:

<?php

$names[0] = "Peter";

$names[1] = "Quagmire";

$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";

?>

以上代码的输出:

Quagmire and Joe are Peter's neighbors

6. 多维数组

在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。

 

例子 1

在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:

 

$families = array

(

  "Griffin"=>array

  (

  "Peter",

  "Lois",

  "Megan"

  ),

  "Quagmire"=>array

  (

  "Glenn"

  ),

  "Brown"=>array

  (

  "Cleveland",

  "Loretta",

  "Junior"

  )

);

如果输出这个数组的话,应该类似这样:

Array

(

[Griffin] => Array

  (

  [0] => Peter

  [1] => Lois

  [2] => Megan

  )

[Quagmire] => Array

  (

  [0] => Glenn

  )

[Brown] => Array

  (

  [0] => Cleveland

  [1] => Loretta

  [2] => Junior

  )

)

例子 2

让我们试着显示上面的数组中的一个单一的值:

echo "Is " . $families['Griffin'][2] .

" a part of the Griffin family?";

以上代码的输出:

Is Megan a part of the Griffin family?

7. 创建 PHP 函数

1)    所有的函数都使用关键词 "function()" 来开始

2)    命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。

3)    添加 "{" - 开口的花括号之后的部分是函数的代码。

4)    插入函数代码

5)    添加一个 "}" - 函数通过关闭花括号来结束。

例子

一个简单的函数,在其被调用时能输出我的名称的:

<html>

<body>

<?php

function writeMyName()

  {

  echo "David Yang";

  }

 

writeMyName();

?>

</body>

</html>

8. 使用 PHP 函数

现在,我们要在 PHP 脚本中使用这个函数了:

<html>

<body>

<?php

function writeMyName()

  {

  echo "David Yang";

  }

echo "Hello world!<br />";

echo "My name is ";

writeMyName();

echo ".<br />That's right, ";

writeMyName();

echo " is my name.";

?>

</body>

</html>以上代码的输出:

Hello world!

My name is David Yang.

That's right, David Yang is my name.

9. PHP 函数 - 添加参数

我们的第一个函数是一个非常简单的函数。它只能输出一个静态的字符串。

通过可以添加参数,我们向函数添加更多的功能。参数类似一个变量。

您可能注意到了,函数名称后面有一个括号,比如 writeMyName()。参数就是在括号中规定的。

例子 1

下面的例子讲输出不同的名字,但姓是相同的:

<html>

<body>

<?php

function writeMyName($fname)

  {

  echo $fname . " Yang.<br />";

  }

echo "My name is ";

writeMyName("David");

echo "My name is ";

writeMyName("Mike");

echo "My name is ";

writeMyName("John");

?>

</body>

</html>

上面的代码的输出:

My name is David Yang.

My name is Mike Yang.

My name is John Yang.

例子 2

下面的函数有两个参数:

 

<html>

<body>

<?php

function writeMyName($fname,$punctuation)

  {

  echo $fname . " Yang" . $punctuation . "<br />";

  }

echo "My name is ";

writeMyName("David",".");

echo "My name is ";

writeMyName("Mike","!");

echo "My name is ";

writeMyName("John","...");

?>

</body>

</html>上面的代码的输出:

My name is David Yang.

My name is Mike Yang!

My name is John Yang...

10. PHP 函数 - 返回值

函数也能用于返回值。

例子

<html>

<body>

<?php

function add($x,$y)

  {

  $total = $x + $y;

  return $total;

  }

echo "1 + 16 = " . add(1,16);

?>

</body>

</html>

以上代码的输出:

1 + 16 = 17

11.PHP 表单处理

表单实例:

<html>

<body>

<form action="welcome.php" method="post">

Name: <input type="text" name="name" />

Age: <input type="text" name="age" />

<input type="submit" />

</form>

</body>

</html>

上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。

"welcome.php" 文件类似这样:

<html>

<body>

Welcome <?php echo $_POST["name"]; ?>.<br />

You are <?php echo $_POST["age"]; ?> years old.

</body>

</html>

上面这个脚本的输出样本类似这样:

Welcome John.

You are 28 years old.

12.表单验证

应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。

不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。

在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

$_GET 变量

$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

例子

<form action="welcome.php" method="get">

Name: <input type="text" name="name" />

Age: <input type="text" name="age" />

<input type="submit" />

</form>当用户点击提交按钮时,发送的 URL 会类似这样:

http://www.w3school.com.cn/welcome.php?name=Peter&age=37"welcome.php" 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键):

Welcome <?php echo $_GET["name"]; ?>.<br />

You are <?php echo $_GET["age"]; ?> years old!

$_REQUEST 变量

PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。

例子

Welcome <?php echo $_REQUEST["name"]; ?>.<br />
You are <?php echo $_REQUEST["age"]; ?> years old!

$_POST 变量用于收集来自 method="post" 的表单中的值。

$_POST 变量

$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。

$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

例子
<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:

http://www.w3school.com.cn/welcome.php

"welcome.php" 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键):

Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old!
为什么使用 $_POST?

· 通过 HTTP POST 发送的变量不会显示在 URL 中。

· 变量没有长度限制。

不过,由于变量不显示在 URL 中,所有无法把页面加入书签。

(本文仅供个人复习参考之用,无其他目的)

相关文章
|
14天前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
14天前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
14天前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
14天前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
14天前
|
JavaScript Java PHP
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
本文是第二天的PHP学习笔记,涵盖了PHP中运算符的使用、类型转换方式,以及打印输出语句的特点,展示了其相较于其他编程语言的一些特殊之处。
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
|
14天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
14天前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
14天前
|
JavaScript 程序员 PHP
php学习笔记-php自定义函数-day05
本文介绍了PHP自定义函数的创建、调用、参数赋值以及作用域和生命周期,还探讨了`global`和`static`关键字的使用,以及`return`、`exit`和`die`的不同用法。
|
14天前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
安全 关系型数据库 MySQL
某教程学习笔记(一):17、php漏洞
某教程学习笔记(一):17、php漏洞
93 0
某教程学习笔记(一):17、php漏洞