PHP基础语法
一、基础语法
1、PHP - echo 语句
脚本代码
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>Echo语句</title> 6 </head> 7 <body> 8 <p> 9 <?php echo "Welcome to imooc"; 10 11 ?> 12 </p> 13 </body> 14 </html>
echo关键字与字符串之间至少要有一个空格。
2、PHP计算表达式
<?php echo "12*3"; ?>
3、PHP字符串
输出一个字符串 "HI,imooc!";
<?php echo 'Hi,world!';?>
注意!!!!
在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的
4、PHP结束符 ";"
这点注意,在PHP编程中需要在每条语句的末尾加入分号 ";" , 注意";"前面不能有空格。但要注意,分号;一定在半角状态下输入
1 <p> 2 <?php 3 echo "欢迎同学们!"; 4 echo "Welcome" . " to imooc!"; 5 echo 1+2+3+4+5; 6 ?> 7 </p>
二、变量
1、基础语法
<?php $var_name = "苹果"; $n = 10; var_dump($var_name); //var_dump函数可以将变量数据类型显示出来 var_dump($n); ?>
2、变量的命名规则
(1)变量名必须是数字字母下划线开始,不能以数字开头
(2)变量名可以是数字字母下划线组合,也可以包含汉字
(3)变量名不允许有空格
3、PHP变量的作用域
PHP有四种不同的变量作用域 local、global、static、parameter
局部作用域和全局作用域
在所有函数外部定义的变量,拥有全局作用域,除了函数外,全局变量可以被脚本中的任何部分访问,
在PHP函数内部声明的变量是局部变量,仅能在函数内部访问,外部不能访问函数内部定义的变量
要在一个函数中去访问一个全局变量,需要使用关键字global,例如:
1 <?php 2 $x=5; //局部变量 3 $y=10; //全局变量 4 5 function myTest() 6 { 7 global $x,$y; 8 $y=$x+$y; 9 } 10 11 myTest(); 12 echo $y; // 输出 15 13 14 ?>
当一个函数完成时,它的所有变量通常都会被删除,然而有时候希望某个局部变量不要被删除。
在声明变量时可以使用static关键字,例如:
1 <?php 2 function myTest() 3 { 4 static $x=0; 5 echo $x; 6 $x++; 7 echo PHP_EOL; // 换行符 8 } 9 10 myTest(); //本次函数执行完之后$x的值是 1 11 myTest(); //本次函数执行完之后$x的值是 2 12 myTest(); //本次函数执行完之后$x的值是 3 13 ?>
4、PHP的超级全局变量
超级全局变量,可以在函数及类中使用
$GLOBALS 是一个包含了全局变量的全局组合数组。变量的名字就是数组的键,例如:
1 <?php 2 $x = 75; 3 $y = 25; 4 5 function addition() 6 { 7 $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 8 } 9 10 addition(); 11 echo $z; //$z 就是$GLOBALS数组中的超级全局变量,该变量同样可以在函数外部访问 12 13 ?>
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服
务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
以下实例中展示了如何使用$_SERVER中的元素:
1 <?php 2 echo $_SERVER['PHP_SELF']; //当前脚本执行的文件名 3 echo "<br>"; 4 echo $_SERVER['SERVER_NAME']; //当前脚本所在的服务器的主机名 5 echo "<br>"; 6 echo $_SERVER['HTTP_HOST']; //当前请求头中的Host项的内容 7 echo "<br>"; 8 echo $_SERVER['HTTP_REFERER']; //引导用户代理到当前页的前一页地址(不可信) 9 echo "<br>"; 10 echo $_SERVER['HTTP_USER_AGENT']; //浏览器 11 echo "<br>"; 12 echo $_SERVER['SCRIPT_NAME']; //包含当前脚本的路径 13 ?>
$_REQUEST 用于收集HTML表单提交的数据
1 <html> 2 <body> 3 4 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 5 Name: <input type="text" name="fname"> 6 <input type="submit"> 7 </form> 8 9 <?php 10 $name = $_REQUEST['fname']; //使用超级全局变量来收集表单中的input提交的数据 11 echo $name; 12 ?> 13 14 </body> 15 </html>
$_POST PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
1 <html> 2 <body> 3 4 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 5 Name: <input type="text" name="fname"> 6 <input type="submit"> 7 </form> 8 9 <?php 10 $name = $_POST['fname']; 11 echo $name; 12 ?> 13 14 </body> 15 </html>
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
$_GET 也可以收集URL中发送的数据。
<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']; //使用$_GET 获取连接中的参数 ?> </body> </html>