网安学记 12 ---- php 基础之数据与运算

3 篇文章 0 订阅

2023.10.14

基础语法

1、标记

标记:由于PHP 是嵌入式脚本语言,它在实际开发中经常会与HTML内容混编在一起,所以为了区分HTML与PHP代码,需要使用标记对PHP代码进行标识

当解析一个文件时,PHP会寻找起始和结束标记,也就是告诉PHP开始和停止解析二者之间的代码。此种解析方式使得PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被PHP解析器忽略

标记类型开始标记结束标记开启项
标准标记<?php?>
短标记<??>short_open_tag
ASP式标记<%%>asp_tags
Script标记<script language="php"></script>

2、输出语句

Ps:所有语句必须以 ; 结尾

语句用法
echo可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到页面中,多个数据之间使用 ,  分隔
print与echo的用法相同,唯一的区别是print只能输出一个值
print_r()PHP的内置函数,它可输出任意类型的数据,如字符串、数组等
var_dump()不仅可以打印一个或多个任意类型的数据,还可以获取数据的类型和元素个数

3、注释

分类风格示例
单行注释//// 注释一句话
## 注释一句话
多行注释/*……*/

/*

注释一句话;

注释两句话;

*/

数据与运算 

1、常量

命名规则:遵循标识符的命名规则,默认大小写敏感,习惯上常量名称总是使用大写字母表示

定义方式解释示例
define(name,value,[true /fase])

第一个参数:定义常量的名称

第二个参数:定义常量的值

可选的第三个参数:规定常量名是否对大小写敏感,默认是 false。高版本已弃用

define('PAI', 3.14,true);
constconst PAI = 3.14

1.1预定义常量

这些常量专门用于获取PHP中的信息,并且不允许开发人员随意修改

常量名功能描述
__FILE__PHP程序文件名
__LINE__PHP程序中的当前行号
PHP_VERSIONPHP程序的版本,如“7.1.4”
PHP_OS执行PHP解析器的操作系统名称,如“WINNT”
TRUE该常量是一个真值(true)
FALSE该常量是一个假值(false)
NULL该常量是一个空值(null)
E_ERROR该常量表示错误级别为致命错误
E_WARNING该常量表示错误级别为警告
E_PARSE该常量表示错误级别为语法解析错误
E_NOTICE该常量表示错误级别为通知提醒

2. 变量*

2.1、命名

组成:在PHP中,变量是由$符号和变量名组成的

如:$number、$_it为合法的变量名,而$123、$*math为非法变量名

2.2、变量的赋值

由于PHP是一种弱语言,变量不需要事先声明,就可以直接进行赋值使用。

传值赋值:变量默认总是传值赋值,将“=”右边的数据赋值为左边的变量

引用赋值:所谓引用赋值就是在要赋值的变量前添加 “&” 符号

示例:

$a = 1

$b = &$a        

Ps:引用赋值是不会给b分配空间的,a、b是共用一个空间

2.3、超全局变量

        PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

$GLOBALS$_SERVER$_ENV
$_POST$_REQUEST$_COOKIE
$_GET$_FILES$_SESSION

2.4、数据类型

标量数据类型boolean布尔型
integer整形
float浮点型
string字符串型
复合数据类型array数组
object对象
特殊数据类型resource资源
NULL空值

2.5、引号

双引号里面可以解析变量

单引号输出字符串

示例:

<?php
$test='php';
$str1='I like $test';
$str2="I like $test";
echo $str1;
echo '\n';
echo $str2;
?>

2.6、数据类型检测

gettype()
<?php
echo gettype(102) ."<br>";
echo gettype(true) ."<br>";
echo gettype(new stdclass());
?>
is_*()
<?php echo is_int(5) ?>

2.7、数据类型转换

① 自动类型转换:

        指的是当运算需要或与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作

转换类型示例输出结果
转换成布尔型var_dump( 0 == false );bool(true)
转换成整型var_dump( '888php' == 888 );bool(true)
var_dump( true + 1 );int(2)
转换成字符串型var_dump( 'true is' . true );string(8) "true is1

② 强制类型转换:

        就是在编写程序时手动转换数据类型,在要转换的数据或变量之前加上“(目标类型)”即可

示例var_dump((int) "4.99");int(4)

 3、运算符

+++自增
---自减
***
/%取余
.链接=赋值
+=加赋值-=减赋值
*=乘赋值**=幂赋值
/=除赋值%=取余赋值
.=链接赋值
==等于===全等
!=不等于<>不等于
!==全不等<=小于等于
<小于>=大于等于
>大于
&&and
or||
!xor异或
&按位与|按位或
~按位非^按位异或
<<左移>>右移
@忽略错误?:三目运算符

4、流程控制语句 

4.1、if...elseif...else

<?php
    if(条件1)
    { 代码段1 }
    elseif(条件2)
    { 代码段2 }
    else
    { 代码段3 }
?>

Ps:执行语句为单行是可不加 { } 

4.2、switch语句

Ps:表达式的值不能为数组或对象

switch (表达式)
{
    case 值1:代码段1; break;
    case 值2:代码段2; break;
    default: 代码段n;
}

4.3、while循环语句

while ( 循环条件 )
{
循环体
}

4.4、do…while循环语句

do
{
循环体
}
while (循环条件);

4.5、for循环语句

for (初始值; 条件; 增量)
{
代码段;
}

4.6、跳转语句

break用于终止当前循环,跳出循环体
continue结束本次循环的执行,开始下一轮循环的执行操作

 4.7、流程替代语法

大量的HTML与PHP代码混合编写时,为了方便区分流程语句的开始和结束位置,可以使用PHP提供的替代语法进行编码。

替换成
{:
}

endif;

endwhile;

endfor;

endforeach;

endswitch;

示例 

<!-- 输出1~99之间的偶数 -->
<ul>
    <?php for ($i = 1; $i < 100;++$i): ?>
        <?php if ($i % 2 == 0): ?>
            <li><?=$i?></li>
        <?php endif; ?>
    <?php endfor; ?>
</ul>

5、文件包含语句

作用:在程序开发中,会涉及到多个PHP文件。为此,PHP提供了包含语句,可以从另一个文件中将代码包含进来

好处:不仅可以提高代码的重用性,还可以提高代码的维护和更新的效率

includeinclude_once
requirerequire_once

require语句与include语句,以及include_once、require_once语句的区别。

①  在包含文件时,如果没有找到文件,include语句会发生警告信息,程序继续运行;而require语句会发生致命错误,程序停止运行。

②  虽然include_once、require_once语句,和include、require的作用几乎相同,但是不同的是带“_once”的语句会先检查要包含的文件是否已经被包含过,避免了同一文件被重复包含的情况。

在被包含文件中,还可以使用return关键字返回一个值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z时代.bug(゜▽゜*)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值