美文网首页
基础语法复习——PHP

基础语法复习——PHP

作者: 哈尼橘橘 | 来源:发表于2019-03-25 20:33 被阅读0次

What's PHP ?

Hypertext Preprocessor(超文本预处理器),是一种脚本语言,PHP脚本在服务器上运行,结果以纯HTML形式返回给浏览器。
PHP可以对服务器上的文件进行操作,也可以对数据库中的数据进行操作。

关于运行的服务器,可以考虑一下phpStudy呀~配置简单易上手

PHP基础语法

<?php   //这是开头
//这是单行注释

header("Content-Type: text/html;charset=utf-8");

/* 这是
多行注释*/

echo "这是用echo直接输出,","可以输出多个字符串,","比print看起来优秀一点","<br>";
print "这是用print直接输出,只能输出一个字符串";

//这是结尾 ?> 

变量及数据类型

  • 变量名前需带$符号;
  • 变量名必须用字母或者下划线开头;
  • 变量名区分大小写、不能包含空格;
  • 没有声明的变量,当第一次被赋值时,被创建。

变量作用域

example:
<?php
header("Content-Type: text/html;charset=utf-8");

$x = 9; //这是一个全局变量
echo "全局变量x的值为:$x";
echo "<br>";
echo "<br>";

function demo(){
    $y = 12;  //这是一个局部变量
    echo "局部变量y的值为:$y";
    echo "<br>";

    global $x;  //使用global,在函数内引用全局变量
    $z = $x + $y;
    echo "全局变量x和局部变量y的和为:$z";
    echo "<br>";

    $m = $GLOBALS['x'] + 2 * $y;  //也可以用$GLOBALS[]数组的形式,引用全局变量
    echo "第二种引用全局变量方式的结果为:$m";
    echo "<br>";

}

function demo2(){
    static $n = 1;  //这是一个加了static关键字的局部变量
    echo "加了static关键字的局部变量第","$n","次输出是:$n";
    $n++;
    echo "<br>";
}

demo();
echo "<br>";
demo();
echo '<p style="color:red">由此可见,当一个函数完成时,它的所有变量一般都会被删除。</p>';

demo2();
demo2();
demo2();
echo '<p style="color:red">由此可见,加了static的局部变量,每次调用该函数时,会保留前一次被调用结束时的值。</p>';
?>
效果如下:

PHP将所有全局变量存储在数组$GLOBALS[index]的数组中,index保存变量的名称。

PHP对象类似JAVA对象,看一眼就行。

常量

define,类似C语言中的define。语法:
bool define(string $name,mixed $value[, bool $case_insensitive = false])
参数:
name,参数名,必选;
value,参数值,必选;
case_insensitive:大小写敏感,默认为false大小写敏感,可选。

example:
<?php
header("Content-Type: text/html;charset=utf-8");

define("a","Fine");  //默认,大小写敏感
define("B","Fine",false);  //设置为false,大小写敏感
define("C","Fine",true);  //设置为true,大小写不敏感

echo A,"<br>";
echo a,"<br>";

echo B,"<br>";
echo b,"<br>";

echo C,"<br>";
echo c;
?>
运行结果:

运算符

算数运算符、赋值运算符、递增/递减运算符、比较运算符、逻辑运算符、三元运算符与C语言类似。

数组运算符
example:
<?php
$x = array('a' =>"cat", 'b' =>"orange", 'm' =>"fine");
$p = array('a' =>"cat", 'b' =>"orange", 'm' =>"fine");
$y = array('c' =>"rabbit", 'd' =>"white", 'm' =>"fine");
$q = array('c' =>"rabbit",'m' =>"fine", 'd' =>"white");

$z = $x + $y; //合并x、y两个数组;


//var_dump()函数用于输出表达式的类型和值
var_dump($z);  //输出合并后的数组z,做并集
echo "<br>","<br>";
var_dump($x == $y);  //比较两个数组,如果所有键/值对相等,不管顺序是否相同,就返回true
echo "<br>";
var_dump($y ==$q);
echo "<br>","<br>";
var_dump($x === $p);  //比较两个数组,键/值对和顺序完全相同才返回true
echo "<br>";
var_dump($x === $y);
echo "<br>","<br>";
var_dump($x != $y);  //比较两个数组,如果不相等,则返回true
echo "<br>";
var_dump($x <> $y);
echo "<br>";
var_dump($x !== $y);

?>
运行结果:

超全局变量

这是PHP 4.1.0之后系统中自带的变量,在一个脚本的全部作用域中都可用。

$GLOBALS

超级全局变量组。
在前面变量作用域中有提到,这里做一个简单的演示。

<?php
$x = "Flexible";
$y = "Cat";

function globalsDemo(){
    $GLOBALS['z'] = $GLOBALS['x'].$GLOBALS['y']; //z在这里也被定义为全局变量
    echo $z; //这样是不行的,因为z是全局变量
    echo $GLOBALS['z'];
}

globalsDemo();
echo "<br>";
echo $z; //在函数外直接用$z是可以的
?>
运行结果:
$_SERVER

包含了服务器、当前脚本等部分信息,是数组,数组中的项目由Web服务器创建。
示例:

<?php
echo $_SERVER['PHP_SELF'], "<br>"; //返回当前脚本的相对地址
echo $_SERVER['SCRIPT_FILENAME'], "<br>";  //返回当前脚本的绝对地址
echo $_SERVER['SERVER_ADDR'], "<br>";  //返回当前脚本所在服务器的IP地址
echo $_SERVER['SERVER_NAME'], "<br>";  //返回当前运行脚本所在服务器的主机名
echo $_SERVER['SERVER_SOFTWARE'], "<br>";  //返回服务器表示字符串
?>
运行结果:

更多元素及其含义可以需要时找度娘。

$_REQUEST

收集HTML表单提交的数据,不论method为POST还是GET都可以。。
示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>requestDemo</title>
</head>
<body>
    <form method="POST" action="<?php echo $_SERVER['PHP_SELF']?>">
        <!--action的值表示,在当前脚本页面显示结果-->

        Lover:<input type="text" name="someone">
        <input type="submit">
    </form>

    <?php
    @$name = htmlspecialchars($_REQUEST['someone']); 
    echo "My lover is ".$name;
    ?>

</body>
</html>
运行结果:
$_POST

收集来自表单中method="post"的表单值,用POST方法的表单发送的值不会在浏览器的地址栏显示,并且发送的信息量也无限制。
示例:

example8.php:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>postDemo</title>
</head>
<body>
    <form action="Hey.php" method="post">
        Who are you?<input type="text" name="fname">
        <input type="submit" value="OK">
    </form>
</body>
</html>
Hey.php:
<?php
    echo "Hey ".$_POST["fname"].", you are soooo pretty~";
?>
运行结果:
$_GET

收集来自表单中method="get"的表单值,用GET方法的表单发送的值会在浏览器的地址栏显示,并且发送的信息不能超过2000个字符。
示例代码仅将上一个示例中的POST改成GET。

运行结果:
$_FILES

用于从客户端向远程服务器上传文件。语法:

$_FILES["file"]["name"]  //客户端上传文件的名称
$_FILES["file"]["type"]  //所上传的文件类型
$_FILES["file"]["size"]  //所上传的文件大小
$_FILES["file"]["temp_name"]  //上传的文件保存在服务器中的临时文件名,无法用putenv()方法设置
$_FILES["file"]["error"]  //和该文件上传相关的错误代码
  • 在表单中需要上传文件时,用enctype属性规定提交表单时要使用的内容类型。文件内容属于二进制数据,所以需要使用multpart/form-data。
  • 允许用户上传文件是由很大的安全风险的,在编写上传脚本时最好加上文件的上传限制。

具体可以扒CTF中的文件上传类题型源码来看,本胖这里就暂时不写了,还不是因为懒

$_ENV

存储了一些系统的环境变量,使用<?php print_r($_ENV); ?>查看,但是因为牵扯到实际的操作系统,所以一般情况下不可能让你查看它的完整列表。

  • 如果非要看的话,那么,打开php.ini
  • 改成EGPCS,就OK了。

讲道理这样是没问题的,但是我也不知道为什么我的虚拟机里不行,怂的不敢在本机上瞎折腾,各位看官们了解一下就好。

$_COOKIE

cookie一般用来识别用户,使用setcookie()创建cookie,语法:
setcookie(name, value, expire, path, domain)
$_COOKIE变量就是用来获取cookie的值的。
删除cookie时,将过期日期变成过去的时间点就行啦。

这一块的示例,回(随)头(缘)再补吧

$_SESSION

session变量用来临时存储关于单一用户会话的信息,或者更改用户会话的设置。
session工作机制:为每位用户创建一个唯一的UID,并根据这个UID来存储变量。UID存储在cookie中,或者通过URL进行传导。

  • 在php中使用session必须在<html>标签前加上<?php session_start(); ?>,这样就会向服务器注册用户的会话,为用户会话分配一个UID;
  • 存储和获取session变量的值都是使用$_SESSION变量完成,_SESSION['UID']
  • 销毁session时,可以用unset()释放指定的session变量,也可以用session_destroy()函数彻底销毁session。
unset($_SESSION['UID']);  //释放制定的session变量
session_destroy(); //彻底销毁所有的session

包含

俩函数,include和reqire,语法:
include 'filename'; require 'filename';
区别:

  • include一般放在程序的流程控制中,当程序执行遇到时才会引用;require一般放在PHP文件的最前面,在程序执行前就导入要引用的文件。
  • include引入的文件有错误时,不会中断,继续执行,返回一个警告;require引入的文件有错误时,执行终端,返回一个错误。

今天的白小胖也很优秀(≧∇≦)/

相关文章

  • 基础语法复习——PHP

    What's PHP ? Hypertext Preprocessor(超文本预处理器),是一种脚本语言,PHP脚...

  • PHP笔记

    PHP笔记 ##php****基础语法****1.****变量...

  • 第二阶段:核心编程 - PHP基础语法

    menu: 一、php基础语法 PHP语法规则 PHP标记 注释 二、变量及操作 概念 声明变量 修改变量的值 删...

  • 2019-04-05 离职、工作、学习计划

    1.复习mysql 基础知识2.复习python语法3.复习linux 基础命令

  • 一. PHP入门篇和PHP进阶篇

    PHP基础语法 PHP数组 PHP函数 PHP之类和对象 PHP字符串 PHP之正则表达式 PHP之cookie ...

  • PHP入门一

    基础 PHP 语法PHP 脚本可放置于文档中的任何位置。PHP 脚本以 结尾: PHP...

  • 2019-04-18 PHP基本语法

    基础 PHP 语法 PHP 脚本可放置于文档中的任何位置。 PHP 脚本以 结尾: PHP...

  • PHP 基础语法

    PHP基本语法 变量相关的函数 isset() 判断变量是否被定义 empty() 判断变量是否为空值, unse...

  • PHP基础语法

    1.1. PHP 标记 可以让代码退出“PHP 模式” 类似于在...

  • 【php】基础语法

    0x01:变量 变量以 $ 符号开头,其后是变量的名称 变量名称必须以字母或下划线开头 变量名称不能以数字开头 变...

网友评论

      本文标题:基础语法复习——PHP

      本文链接:https://www.haomeiwen.com/subject/mdqivqtx.html