第三天学习文档

本文介绍了PHP的基础知识,包括PHP脚本的开始和结束标签,文本输出指令echo和print,变量的声明和命名规则,以及PHP的echo/print功能。详细讲解了PHP的EOF(heredoc)字符串定义方法。此外,还涵盖了PHP的数据类型,如字符串、整型、浮点型、布尔型、数组和对象。文章还提到了常量的定义、字符串操作、数组操作和排序函数。
摘要由CSDN通过智能技术生成

1.PHP语法

1.1PHP 脚本以 <?php 开始,以 ?> 结束;

每行内容要以分号结尾。

1.2在浏览器中能输出文本的基本指令有:echo,print;

1.3注释

<?php

//单行注释

/*多行

注释*/

?>

2.变量

  • 以符号$开始,后跟变量名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

3.PHP echo/print

  • echo-输出一个或多个字符串

  • print-只能输出一个字符串,且返回值为1

4.PHP EOF(heredoc) 使用说明

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

使用概述:

  • 1. 必须后接分号,否则编译通不过。
  • 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  • 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  • 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当于q和qq的用法。

注意:

  • 以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
  • 开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
  • 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:
<?php
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

运行结果:"abc"runoob"123"

5.数据类型

PHP支持以下几种数据类型

  • string(字符型

可将字符串放在单引和双引号中

  • integer(整型

可以是正数和负数,不含小数点和空格;

能用三种格式

来指定:十进制,八进制(0),十六进制(0x)

var_dump返回变量和数据类型的值

<?php
$c=73678;
var_dump($c);
echo "<br>"; 
?>

运行结果:int(73678)

  • float(浮点型
  • Boolean(布尔型

用于条件判断(true/false)

  • array(数组
<?php
$cars=("vovol","bmw","toyota");
var_dump(cars);
?>

运行结果:array(3) { [0]=> string(5) "volvo" [1]=> string(3) "bmw" [2]=> string(6) "toyota" }

  •  object(对象
<?php
class Car
{
    var $color;
    function __construct($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "\t$prop = $val\n";
   }
}

// 实例一个对象
$herbie = new Car("white");

// 显示 herbie 属性
echo "\therbie: Properties\n";
print_vars($herbie);

?>  
  • NULL(空值

清空变量数据,返回值NULL

  • resource(资源类型

get_resource_type($handle):string

<?php
$doc=new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";

 6.类型比较

  • ==

(松散比较)只比较值,不比较类型

  • ===
  • (严格比较)不仅比较值,还比较类型

7.PHP常量

bool define(string $name,mixed $value [,bool $case_insensitive=false])]

三个参数:

  • name:必选参数,常量名,及标识符
  • value:必选参数,常量值
  • case_insensitive:可选参数,若设置为TRUE,则该常量大小写不敏感;若为默认值,则大小写敏感。
  • 常量是全局的,即使定义在函数外也可以正常使用

 8.PHP字符串

  • 并置运算符(.)

echo $text1."".$text2;

  • strlen函数
<?php
echo strlen("hello world!");
?>

运行结果:12 

  •  strpos函数:在字符串内查找一个字符或一段指定的文本

如果在字符串内找到匹配,该函数会返回第一个匹配的字符位置;

若未找到,则返回FALSE


<?php
ehco strpos("hello world!","world");
?>

 返回值:6(字符串的第一个位置是0,不是1

9.PHP运算符

=用于给变量赋值

+用于把值加在一起

-x:设置负数

~x:二进制取反

a.b:连接两个字符串

a.=b表示a=a.b

  • 整除运算符:intdiv() 第一个参数初一第二参数的值并取整

var_dump(intdiv(5,2))  输出:2

  • 比较运算符

x<>y:不等于

x!==y:不绝对等于(值或类型不相同都返回true)

  • 逻辑运算符

and 与

or 或

&& 与

 || 或

 !x 非

  • ??
<?php
$name=$_get['user']??'nobby';
//如果user不存在则返回‘nobby’的值,若存在,则返回‘user’的值
?>
  • 组合比较符(1  0  -1)
  •  运算符优先级

10.PHP数组

  • 获取数组的长度:count  count($cars) 
  • 遍历数值数组
<?php//可使用for循环
$car=array("he","she","me");
$arrlength=count($car);
for($x=0;$x<$arrlength;$x++)
{
  echo $car[$x];
  echo "<br>";
}
?>
  •  php关联数组

使用分配给数组指定的键的数组

创建关联数组的方法

$age=array("peter"=>"35","ben"=>"37","joe"="43";

$age['peter']="35";

$age['ben']="37";

$age['joe']="43";

<?php
$age=array("peter"=>"35","ben"=>"37","joe"=>"47");
echo "peter is".$age['peter']."years old.";
?>

11.php数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列
ctfshow 1-28 信息泄露 + 爆破 解题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值