-
PHP 表单处理有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。实例下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮。form.html 文件代码:<html><head><meta charset="utf-8"><title>huaweiyun(huaweiyun.com)</title></head><body> <form action="welcome.php" method="post">名字: <input type="text" name="fname">年龄: <input type="text" name="age"><input type="submit" value="提交"></form> </body></html>当用户填写完上面的表单并点击提交按钮时,表单的数据会被送往名为 "welcome.php" 的 PHP 文件:welcome.php 文件代码:欢迎<?php echo $_POST["fname"]; ?>!<br>你的年龄是 <?php echo $_POST["age"]; ?> 岁。通过浏览器访问演示如下:我们将在下一章中讲解 PHP 中的 $_GET 和 $_POST 变量。PHP 获取下拉菜单的数据PHP 下拉菜单单选以下实例我们设置了下拉菜单三个选项,表单使用 GET 方式获取数据,action 属性值为空表示提交到当前脚本,我们可以通过 select 的 name 属性获取下拉菜单的值:php_form_select.php 文件代码:<?php$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';if($q) { if($q =='RUNOOB') { echo '华为云<br>http://www.huaweiyun.com'; } else if($q =='GOOGLE') { echo 'Google 搜索<br>http://www.google.com'; } else if($q =='TAOBAO') { echo '淘宝<br>http://www.taobao.com'; }} else {?><form action="" method="get"> <select name="q"> <option value="">选择一个站点:</option> <option value="RUNOOB">Runoob</option> <option value="GOOGLE">Google</option> <option value="TAOBAO">Taobao</option> </select> <input type="submit" value="提交"> </form><?php}?>PHP 下拉菜单多选如果下拉菜单是多选的( multiple="multiple"),我们可以通过将设置 select name="q[]" 以数组的方式获取,以下使用 POST 方式提交,代码如下所示:php_form_select_mul.php 文件代码:<?php$q = isset($_POST['q'])? $_POST['q'] : '';if(is_array($q)) { $sites = array( 'RUNOOB' => '华为云: http://www.华为云.com', 'GOOGLE' => 'Google 搜索: http://www.google.com', 'TAOBAO' => '淘宝: http://www.taobao.com', ); foreach($q as $val) { // PHP_EOL 为常量,用于换行 echo $sites[$val] . PHP_EOL; } } else {?><form action="" method="post"> <select multiple="multiple" name="q[]"> <option value="">选择一个站点:</option> <option value="RUNOOB">Runoob</option> <option value="GOOGLE">Google</option> <option value="TAOBAO">Taobao</option> </select> <input type="submit" value="提交"> </form><?php}?>单选按钮表单PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的,代码如下所示:php_form_radio.php 文件代码:<?php$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';if($q) { if($q =='RUNOOB') { echo '华为云<br>http://www.huaweiyun.com'; } else if($q =='GOOGLE') { echo 'Google 搜索<br>http://www.google.com'; } else if($q =='TAOBAO') { echo '淘宝<br>http://www.taobao.com'; }} else {?><form action="" method="get"> <input type="radio" name="q" value="RUNOOB" />Runoob <input type="radio" name="q" value="GOOGLE" />Google <input type="radio" name="q" value="TAOBAO" />Taobao <input type="submit" value="提交"></form><?php}?>checkbox 复选框PHP checkbox 复选框可以选择多个值:php_form_select_checkbox.php 文件代码:<?php$q = isset($_POST['q'])? $_POST['q'] : '';if(is_array($q)) { $sites = array( 'RUNOOB' => 'huawieyun: http://www.huaweiyun.com', 'GOOGLE' => 'Google 搜索: http://www.google.com', 'TAOBAO' => '淘宝: http://www.taobao.com', ); foreach($q as $val) { // PHP_EOL 为常量,用于换行 echo $sites[$val] . PHP_EOL; } } else {?><form action="" method="post"> <input type="checkbox" name="q[]" value="RUNOOB"> Runoob<br> <input type="checkbox" name="q[]" value="GOOGLE"> Google<br> <input type="checkbox" name="q[]" value="TAOBAO"> Taobao<br> <input type="submit" value="提交"></form><?php}?>
-
for 循环for 循环用于您预先知道脚本需要运行的次数的情况。语法for (初始值; 条件; 增量){ 要执行的代码;}参数:初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。实例下面的实例定义一个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循环将继续运行。循环每运行一次,变量 i 就会递增 1:实例<?phpfor ($i=1; $i<=5; $i++){ echo "数字为 " . $i . PHP_EOL;}?>输出:数字为 1数字为 2数字为 3数字为 4数字为 5foreach 循环foreach 循环用于遍历数组。语法foreach ($array as $value){ 要执行代码;}每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。foreach ($array as $key => $value){ 要执行代码;}每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。实例下面的实例演示了一个输出给定数组的值的循环:实例<?php$x=array("Google","Runoob","Taobao");foreach ($x as $value){ echo $value . PHP_EOL;}?>输出:GoogleRunoobTaobao下面的实例演示了一个输出给定数组键与值的循环:实例<?php$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");foreach ($x as $key => $value){ echo "key 为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;}?>输出:key 为 1,对应的 value 为 Googlekey 为 2,对应的 value 为 Runoobkey 为 3,对应的 value 为 Taobao
-
PHP Switch 语句如果您希望有选择地执行若干代码块之一,请使用 switch 语句。语法<?phpswitch (n){case label1: 如果 n=label1,此处代码将执行; break;case label2: 如果 n=label2,此处代码将执行; break;default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;}?>工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。实例<?php$favcolor="red";switch ($favcolor){case "red": echo "你喜欢的颜色是红色!"; break;case "blue": echo "你喜欢的颜色是蓝色!"; break;case "green": echo "你喜欢的颜色是绿色!"; break;default: echo "你喜欢的颜色不是 红, 蓝, 或绿色!";}?>运行实例 »
-
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:__LINE__文件中的当前行号。实例<?phpecho '这是第 " ' . __LINE__ . ' " 行';?>以上实例输出结果为:这是第 “ 2 ” 行__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。实例:实例<?phpecho '该文件位于 " ' . __FILE__ . ' " ';?>以上实例输出结果为:该文件位于 “ E:\wamp\www\test\index.php ”__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)实例<?phpecho '该文件位于 " ' . __DIR__ . ' " ';?>以上实例输出结果为:该文件位于 “ E:\wamp\www\test ”__FUNCTION__函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。实例<?phpfunction test() { echo '函数名为:' . __FUNCTION__ ;}test();?>以上实例输出结果为:函数名为:test__CLASS__类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。实例<?phpclass test { function _print() { echo '类名为:' . __CLASS__ . "<br>"; echo '函数名为:' . __FUNCTION__ ; }}$t = new test();$t->_print();?>以上实例输出结果为:类名为:test函数名为:_print__TRAIT__Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。实例<?phpclass Base { public function sayHello() { echo 'Hello '; }} trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; }} class MyHelloWorld extends Base { use SayWorld;} $o = new MyHelloWorld();$o->sayHello();?>以上例程会输出:Hello World!__METHOD__类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。实例:实例<?phpfunction test() { echo '函数名为:' . __METHOD__ ;}test();?>以上实例输出结果为:函数名为:test__NAMESPACE__当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。实例:实例<?phpnamespace MyProject; echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"?>以上实例输出结果为:命名空间为:"MyProject"
-
PHP 的真正威力源自于它的函数。在 PHP 中,提供了超过 1000 个内建的函数。PHP 内建函数如需查看所有数组函数的完整参考手册和实例,请访问我们的 PHP 参考手册。PHP 函数在本章中,我们将为您讲解如何创建自己的函数。如要在页面加载时执行脚本,您可以把它放到函数里。函数是通过调用函数来执行的。你可以在页面的任何位置调用函数。创建 PHP 函数函数是通过调用函数来执行的。语法<?phpfunction functionName(){ // 要执行的代码}?>PHP 函数准则:函数的名称应该提示出它的功能函数名称以字母或下划线开头(不能以数字开头)实例一个简单的函数,在其被调用时能输出我的名称:实例<?phpfunction writeName(){ echo "Kai Jim Refsnes";} echo "My name is ";writeName();?>输出:My name is Kai Jim RefsnesPHP 函数 - 添加参数为了给函数添加更多的功能,我们可以添加参数,参数类似变量。参数就在函数名称后面的一个括号内指定。实例 1下面的实例将输出不同的名字,但姓是相同的:实例<?phpfunction writeName($fname){ echo $fname . " Refsnes.<br>";} echo "My name is ";writeName("Kai Jim");echo "My sister's name is ";writeName("Hege");echo "My brother's name is ";writeName("Stale");?>输出:My name is Kai Jim Refsnes.My sister's name is Hege Refsnes.My brother's name is Stale Refsnes.实例 2下面的函数有两个参数:实例<?phpfunction writeName($fname,$punctuation){ echo $fname . " Refsnes" . $punctuation . "<br>";} echo "My name is ";writeName("Kai Jim",".");echo "My sister's name is ";writeName("Hege","!");echo "My brother's name is ";writeName("Ståle","?");?>输出:My name is Kai Jim Refsnes.My sister's name is Hege Refsnes!My brother's name is Ståle Refsnes?PHP 函数 - 返回值如需让函数返回一个值,请使用 return 语句。实例<?phpfunction add($x,$y){ $total=$x+$y; return $total;} echo "1 + 16 = " . add(1,16);?>输出:1 + 16 = 17
-
$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。以下实例介绍了如何使用超级全局变量 $GLOBALS:实例<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>以上实例中 z 是一个$GLOBALS数组中的超级全局变量,该变量同样可以在函数外访问。PHP $_SERVER$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。以下实例中展示了如何使用$_SERVER中的元素:实例<?php echo $_SERVER['PHP_SELF'];echo "<br>";echo $_SERVER['SERVER_NAME'];echo "<br>";echo $_SERVER['HTTP_HOST'];echo "<br>";echo $_SERVER['HTTP_REFERER'];echo "<br>";echo $_SERVER['HTTP_USER_AGENT'];echo "<br>";echo $_SERVER['SCRIPT_NAME'];?>PHP $_REQUESTPHP $_REQUEST 用于收集HTML表单提交的数据。以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据:实例<html><body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">Name: <input type="text" name="fname"><input type="submit"></form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body></html>PHP $_POSTPHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:实例<html><body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">Name: <input type="text" name="fname"><input type="submit"></form> <?php $name = $_POST['fname']; echo $name; ?> </body></html>PHP $_GETPHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。$_GET 也可以收集URL中发送的数据。假定我们有一个包含参数的超链接HTML页面:<html><body><a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a></body></html>当用户点击链接 "Test $GET", 参数 "subject" 和 "web" 将发送至"test_get.php",你可以在 "test_get.php" 文件中使用 $_GET 变量来获取这些数据。以下实例显示了 "test_get.php" 文件的代码:实例<html><body> <?php echo "Study " . $_GET['subject'] . " @ " . $_GET['web'];?> </body></html>
-
sort() - 对数组进行升序排列下面的实例将 $cars 数组中的元素按照字母升序排列:实例<?php$cars=array("Volvo","BMW","Toyota");sort($cars);?>下面的实例将 $numbers 数组中的元素按照数字升序排列:实例<?php$numbers=array(4,6,2,22,11);sort($numbers);?>rsort() - 对数组进行降序排列下面的实例将 $cars 数组中的元素按照字母降序排列:实例<?php$cars=array("Volvo","BMW","Toyota");rsort($cars);?>下面的实例将 $numbers 数组中的元素按照数字降序排列:实例<?php$numbers=array(4,6,2,22,11);rsort($numbers);?>asort() - 根据数组的值,对数组进行升序排列下面的实例根据数组的值,对关联数组进行升序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");asort($age);?>ksort() - 根据数组的键,对数组进行升序排列下面的实例根据数组的键,对关联数组进行升序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");ksort($age);?>arsort() - 根据数组的值,对数组进行降序排列下面的实例根据数组的值,对关联数组进行降序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");arsort($age);?>krsort() - 根据数组的键,对数组进行降序排列下面的实例根据数组的键,对关联数组进行降序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");krsort($age);?>
-
sort() - 对数组进行升序排列下面的实例将 $cars 数组中的元素按照字母升序排列:实例<?php$cars=array("Volvo","BMW","Toyota");sort($cars);?>下面的实例将 $numbers 数组中的元素按照数字升序排列:实例<?php$numbers=array(4,6,2,22,11);sort($numbers);?>rsort() - 对数组进行降序排列下面的实例将 $cars 数组中的元素按照字母降序排列:实例<?php$cars=array("Volvo","BMW","Toyota");rsort($cars);?>下面的实例将 $numbers 数组中的元素按照数字降序排列:实例<?php$numbers=array(4,6,2,22,11);rsort($numbers);?>asort() - 根据数组的值,对数组进行升序排列下面的实例根据数组的值,对关联数组进行升序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");asort($age);?>ksort() - 根据数组的键,对数组进行升序排列下面的实例根据数组的键,对关联数组进行升序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");ksort($age);?>arsort() - 根据数组的值,对数组进行降序排列下面的实例根据数组的值,对关联数组进行降序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");arsort($age);?>krsort() - 根据数组的键,对数组进行降序排列下面的实例根据数组的键,对关联数组进行降序排列:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");krsort($age);?>
-
数组能够在单个变量中存储多个值:实例<?php$cars=array("Volvo","BMW","Toyota");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>数组是什么?数组是一个能在单个变量中存储多个值的特殊变量。如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示:$cars1="Volvo";$cars2="BMW";$cars3="Toyota";然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?解决办法是创建一个数组!数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。在 PHP 中创建数组在 PHP 中,array() 函数用于创建数组:array();在 PHP 中,有三种类型的数组:数值数组 - 带有数字 ID 键的数组关联数组 - 带有指定的键的数组,每个键关联一个值多维数组 - 包含一个或多个数组的数组PHP 数值数组这里有两种创建数值数组的方法:自动分配 ID 键(ID 键总是从 0 开始):$cars=array("Volvo","BMW","Toyota");人工分配 ID 键:$cars[0]="Volvo";$cars[1]="BMW";$cars[2]="Toyota";下面的实例创建一个名为 $cars 的数值数组,并给数组分配三个元素,然后打印一段包含数组值的文本:实例<?php$cars=array("Volvo","BMW","Toyota");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>运行实例 »获取数组的长度 - count() 函数count() 函数用于返回数组的长度(元素的数量):实例<?php$cars=array("Volvo","BMW","Toyota");echo count($cars);?>遍历数值数组遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:实例<?php$cars=array("Volvo","BMW","Toyota");$arrlength=count($cars); for($x=0;$x<$arrlength;$x++){ echo $cars[$x]; echo "<br>";}?>PHP 关联数组关联数组是使用您分配给数组的指定的键的数组。这里有两种创建关联数组的方法:$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");or:$age['Peter']="35";$age['Ben']="37";$age['Joe']="43";随后可以在脚本中使用指定的键:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");echo "Peter is " . $age['Peter'] . " years old.";?>遍历关联数组遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:实例<?php$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value){ echo "Key=" . $x . ", Value=" . $x_value; echo "<br>";}?>
-
switch 语句用于根据多个不同条件执行不同动作。PHP Switch 语句如果您希望有选择地执行若干代码块之一,请使用 switch 语句。语法<?phpswitch (n){case label1: 如果 n=label1,此处代码将执行; break;case label2: 如果 n=label2,此处代码将执行; break;default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;}?>工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。实例<?php$favcolor="red";switch ($favcolor){case "red": echo "你喜欢的颜色是红色!"; break;case "blue": echo "你喜欢的颜色是蓝色!"; break;case "green": echo "你喜欢的颜色是绿色!"; break;default: echo "你喜欢的颜色不是 红, 蓝, 或绿色!";}?>
-
条件语句用于根据不同条件执行不同动作。PHP 条件语句当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。在 PHP 中,提供了下列条件语句:if 语句 - 在条件成立时执行代码if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块switch 语句 - 在若干条件之一成立时执行一个代码块PHP - if 语句if 语句用于仅当指定条件成立时执行代码。语法if (条件){ 条件成立时要执行的代码;}如果当前时间小于 20,下面的实例将输出 "Have a good day!":实例<?php$t=date("H");if ($t<"20"){ echo "Have a good day!";}?>PHP - if...else 语句在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。语法if (条件){条件成立时执行的代码;}else{条件不成立时执行的代码;}如果当前时间小于 20,下面的实例将输出 "Have a good day!",否则输出 "Have a good night!":实例<?php$t=date("H");if ($t<"20"){ echo "Have a good day!";}else{ echo "Have a good night!";}?>PHP - if...elseif....else 语句在若干条件之一成立时执行一个代码块,请使用 if....elseif...else 语句。.语法if (条件){ if 条件成立时执行的代码;}elseif (条件){ elseif 条件成立时执行的代码;}else{ 条件不成立时执行的代码;}如果当前时间小于 10,下面的实例将输出 "Have a good morning!",如果当前时间不小于 10 且小于 20,则输出 "Have a good day!",否则输出 "Have a good night!":实例<?php$t=date("H");if ($t<"10"){ echo "Have a good morning!";}elseif ($t<"20"){ echo "Have a good day!";}else{ echo "Have a good night!";}?>
-
PHP 中的字符串变量字符串变量用于包含有字符的值。在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:实例<?php$txt="Hello world!";echo $txt;?>lamp 注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。现在,让我们来看看一些常用的操作字符串的函数和运算符。PHP 并置运算符在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。下面的实例演示了如何将两个字符串变量连接在一起:实例<?php$txt1="Hello world!";$txt2="What a nice day!";echo $txt1 . " " . $txt2;?>上面的代码将输出:Hello world! What a nice day!提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。PHP strlen() 函数有时知道字符串值的长度是很有用的。strlen() 函数返回字符串的长度(字节数)。下面的实例返回字符串 "Hello world!" 的长度:实例<?phpecho strlen("Hello world!");?>上面的代码将输出:12提示:strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)PHP strpos() 函数strpos() 函数用于在字符串内查找一个字符或一段指定的文本。如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。下面的实例在字符串 "Hello world!" 中查找文本 "world":实例<?phpecho strpos("Hello world!","world");?>上面的代码将输出:6提示:在上面的实例中,字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
-
常量值被定义后,在脚本的其他任何地方都不能被改变。PHP 常量常量是一个简单值的标识符。该值在脚本中不能改变。一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。注意: 常量在整个脚本中都可以使用。设置 PHP 常量设置常量,使用 define() 函数,函数语法如下:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )该函数有三个参数:name:必选参数,常量名称,即标志符。value:必选参数,常量的值。case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":实例<?php// 区分大小写的常量名define("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html");echo GREETING; // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"echo '<br>';echo greeting; // 输出 "greeting"?>以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html":实例<?php// 不区分大小写的常量名define("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html", true);echo greeting; // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"?>常量是全局的常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。实例<?phpdefine("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"); function myTest() { echo GREETING;} myTest(); // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"?>
-
变量是用于存储信息的"容器":实例<?php$x=5;$y=6;$z=$x+$y;echo $z;?>与代数类似x=5y=6z=x+y在代数中,我们使用字母(如 x),并给它赋值(如 5)。从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。在 PHP 中,这些字母被称为变量。lamp 变量是用于存储数据的容器。PHP 变量与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。PHP 变量规则:变量以 $ 符号开始,后面跟着变量的名称变量名必须以字母或者下划线字符开始变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )变量名不能包含空格变量名是区分大小写的($y 和 $Y 是两个不同的变量)lamp PHP 语句和 PHP 变量都是区分大小写的。创建(声明)PHP 变量PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建:实例<?php$txt="Hello world!";$x=5;$y=10.5;?>在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。PHP 是一门弱类型语言在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP 变量作用域变量的作用域是脚本中变量可被引用/使用的部分。PHP 有四种不同的变量作用域:localglobalstaticparameter局部和全局作用域在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:实例<?php$x=5; // 全局变量function myTest(){ $y=10; // 局部变量 echo "<p>测试函数内变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y";} myTest();echo "<p>测试函数外变量:<p>";echo "变量 x 为: $x";echo "<br>";echo "变量 y 为: $y";?>在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。Note 你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。PHP global 关键字global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:实例<?php$x=5;$y=10; function myTest(){ global $x,$y; $y=$x+$y;} myTest();echo $y; // 输出 15?>PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。上面的实例可以写成这样:实例<?php$x=5;$y=10; function myTest(){ $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];} myTest();echo $y;?>Static 作用域当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,请在您第一次声明变量时使用 static 关键字:实例<?phpfunction myTest(){ static $x=0; echo $x; $x++; echo PHP_EOL; // 换行符} myTest();myTest();myTest();?>然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。注释:该变量仍然是函数的局部变量。参数作用域参数是通过调用代码将值传递给函数的局部变量。参数是在参数列表中声明的,作为函数声明的一部分:实例<?phpfunction myTest($x){ echo $x;}myTest(5);?>
-
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。松散比较:使用两个等号 == 比较,只比较值,不比较类型。严格比较:用三个等号 === 比较,除了比较值,也比较类型。例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。实例<?phpif(42 == "42") { echo '1、值相等';} echo PHP_EOL; // 换行符 if(42 === "42") { echo '2、类型相等';} else { echo '3、类型不相等';}?>以上实例输出结果为:1、值相等3、类型不相等PHP中 比较 0、false、null测试代码:实例<?phpecho '0 == false: ';var_dump(0 == false);echo '0 === false: ';var_dump(0 === false);echo PHP_EOL;echo '0 == null: ';var_dump(0 == null);echo '0 === null: ';var_dump(0 === null);echo PHP_EOL;echo 'false == null: ';var_dump(false == null);echo 'false === null: ';var_dump(false === null);echo PHP_EOL;echo '"0" == false: ';var_dump("0" == false);echo '"0" === false: ';var_dump("0" === false);echo PHP_EOL;echo '"0" == null: ';var_dump("0" == null);echo '"0" === null: ';var_dump("0" === null);echo PHP_EOL;echo '"" == false: ';var_dump("" == false);echo '"" === false: ';var_dump("" === false);echo PHP_EOL;echo '"" == null: ';var_dump("" == null);echo '"" === null: ';var_dump("" === null);以上实例输出结果为:0 == false: bool(true)0 === false: bool(false)0 == null: bool(true)0 === null: bool(false)false == null: bool(true)false === null: bool(false)"0" == false: bool(true)"0" === false: bool(false)"0" == null: bool(false)"0" === null: bool(false)"" == false: bool(true)"" === false: bool(false)"" == null: bool(true)"" === null: bool(false)
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签