当前位置: 首页 > news >正文

阿里云备案网站负责人百度引擎入口

阿里云备案网站负责人,百度引擎入口,wordpress 防攻击插件,恶搞网页在线制作由于之前没系统的学习PHP语言,都是在做题时遇到不会的才去查,后来发现这样的效率非常低,审代码别人一眼扫出漏洞,而我还需要去查一下这行代码的意思,那个函数的作用,查当然要查,但连简单的语法都…

由于之前没系统的学习PHP语言,都是在做题时遇到不会的才去查,后来发现这样的效率非常低,审代码别人一眼扫出漏洞,而我还需要去查一下这行代码的意思,那个函数的作用,查当然要查,但连简单的语法都不懂就太说不过去了,有时候甚至直接将一整段代码扔给AI让它解读,这样对代码审计的能力根本不能提升

所以我这次决定系统的学习一次PHP语言,为了在后续的解题过程中不用总依赖AI也可以很快审清代码逻辑。

PHP语言的功能非常强大,在Web开发中也占据着非常重要的地位,这些都懂,就不详细举例,直接开始着手对PHP语言进行学习。

1、PHP语言的基本结构

PHP脚本通常以 <?php 开始,以 ?> 结束,这些标签告诉 PHP 解释器,其中的内容是 PHP 代码。

<?php
// PHP 代码
?>

2、输出内容

使用 echo 或 print 语句输出内容

<?php
echo "Hello, World!";
print "Hello, World!";
?>

3、变量

变量以 $ 开头,变量名区分大小写

<?php
$variable = "Hello, World!";
echo $variable;
?>

说到变量就不得不提全局变量了

全局变量

超全局变量(Superglobals)是PHP中内置的特殊变量,它们在脚本的任何作用域(全局、函数、类方法等)中都可以直接访问,无需使用 global 关键字声明。这些变量由PHP预定义,用于收集来自不同来源的数据。

完整的PHP超全局变量列表:

超全局变量作用
$_GET获取 URL 查询字符串(?key=value)传递的参数
$_POST获取 HTTP POST 请求提交的表单数据
$_REQUEST

包含 $_GET、$_POST 和 $_COOKIE 的数据(直接使用有一定的

安全风险)

$_SERVER包含服务器和执行环境信息(如 IP、User-Agent、请求方法等)
$_SESSION存储会话数据(需先 session_start() )
$_COOKIE获取客户端发送的 HTTP Cookies
$_FILES获取上传文件的信息(如$_FILES['file']['name'])
$_ENV获取系统环境变量(如 $_ENV['PATH'] )
$GLOBALS引用全局作用域中的所有变量(如$GLOBALS['var'] )

超全局变量 VS 普通变量

特性超全局变量普通全局变量
作用域全局(自动生效)需 global 声明
命名前缀$_(如 $_GET )自定义(如 $count )
用途请求数据、服务器信息等一般程序逻辑变量
是否可自定义否(PHP预定义)

4、数组

数组数组是存储多个值的变量。 

5、常用符号

{}

大括号 {} 主要用于控制代码块的范围和作用域 ,确保代码的结构清晰和逻辑准确。

.

. 在PHP中用于连接字符串

//

注释符用于在代码中添加说明性文字,这些文字不会被执行。PHP 支持多种注释方式,包括单行注释多行注释

PHP中注释符比较广泛,例如 # 和  /* */ 都可以作为注释符

例如

<?php  //这是一个单行注释
       #这也是一个单行注释

       /*
       这是一个多行注释
       可以包含多行内容
       不会被执行
       */

echo "Hello, World!";
?>

=>

=> 是用于键值对的语法,通常在数组定义中使用,表示之间的映射关系

这个有点抽象,例如:

<?php
$person = array(
    "name" => "China", //"name" => "China" 是键值对, name 是键(key),China 是值(value)
    "age" => 76,
    "city" => "Beijing"
);

echo $person["name"]; // 输出: China
echo $person["age"];  // 输出: 76
echo $person["city"]; // 输出: Beijing
?>

 [ ]

在PHP中,中括号 [ ] 有多种用途,主要用于数组操作(数组定义、访问、修改)字符串操作(访问、修改字符串)

中括号 [ ] 也可以用于 列表解构 (特别是在 foreach 循环中处理多维数组或键值对)

列表解构

<?php
//定义一个二维数组
$array = [
    ["apple", "banana"],
    ["cherry", "orange"]  //包含两个子数组的二维数组,每个子数组包含两个水果名称字符串
];
//使用foreach循环结合数组解构遍历
foreach ($array as [[$fruit1, $fruit2]]) {  //当前子数组的元素会被自动解构赋值到变量 $fruit1 和 $fruit2  第一次循环 $fruit1="apple" $fruit2="banana" 第二次循环 $fruit1="cherry" $fruit2="orange"
    echo $fruit1 . " " . $fruit2 . "\n";    //输出 第一个数组与空格拼接后再与输出的第二个数组拼接再换行 的值
}
// 输出:
// apple banana
// cherry orange
?>

键值对解构

<?php
//定义一个关联数组,包含3个元素:名字、年龄、城市
$array = [
    "name" => "China",
    "age" => 76,
    "city" => "Beijing"
];
//使用foreach循环遍历数组 array()
foreach ($array as $key => $value) {  //$array as $key 表示每次循环中当前元素的键会赋值给 $key ,值会赋值给 $value。
    echo $key . ": " . $value . "\n";  将键、冒号、值 连接起来输出
}
// 输出:
// name: China
// age: 76
// city: Beijing

?>

6、数据类型

PHP 支持多种数据类型,包括字符串、整数、浮点数、布尔值、数组和对象

<?php
$string = "Hello, World!";                //字符串
$integer = 123;                           //整数
$float = 123.45;                          //浮点数
$boolean = true;                             //布尔值
$array = array("apple", "banana", "cherry"); //数组
$object = new stdClass();                    //对象   stdClass是 PHP 的一个内置类,它是一个空的类,没有任何属性和方法。它通常用于创建一个通用的对象。
$object->name = "John";                      //表示访问 $object 对象的 name 属性,name 是一个属性名,它在 $object 对象中被动态创建;将字符串 John 赋值给 name 属性。
?>

7、控制结构

条件语句

if 条件语句(最简单)
<?php
$age = 18;  //这里的年龄为了简单就直接赋值,而通常条件判断中需要获取用户输入if ($age >= 18) {echo "您已成年,可以进入。";
}
?>
 if else 语句
<?php
$age = 18;  if ($age >= 18) {echo "您已成年,可以进入。";
} else {echo "您未成年,禁止进入!";
}
?>

 if - elseif - else 多重结构
<?php
$grade = 85;if ($grade >= 90) {echo "优秀!";
} elseif ($grade >= 80) {echo "良好!";
} elseif ($grade >= 60) {echo "及格!";
} else {echo "不及格!";
}
?>
三元运算符 
<?php
$isMember = true; //创建一个名为 $isMember 的布尔型变量,并将值 ture 赋值给它,ture 表示 "是会员",如果改为 false 则表示 "不是会员"。
$message = $isMember ? "欢迎会员!" : "请注册成为会员!"; //检查 $isMember 的值,如果为 ture 则选择 ? 后面的第一个值("欢迎会员!");如果为 false 则选择 : 后面的第二个值 ("请注册成为会员!")
echo $message;
?>
switch语句

<?php
$day = "Monday";switch ($day) {case "Monday":echo "今天是星期一";break;case "Tuesday":echo "今天是星期二";break;case "Wednesday":echo "今天是星期三";break;default:echo "今天是周末或其他日子";
}
?>

空值合并运算符(??) 

但这个有 PHP7.0版本 + 引入的特性 的要求,作用是检查左侧值是否存在且不为null (空值),如果是则返回左侧值,否则返回右侧值

<?php
$username = $_GET['user'] ?? '访客';
echo "欢迎," . $username;
?>

循环语句

for循环
<?php
// 打印1到5的数字
for ($i = 1; $i <= 5; $i++) {echo $i . " ";
}
// 输出: 1 2 3 4 5
?>
while循环
<?php
// 打印1到5的数字
$i = 1;
while ($i <= 5) {echo $i . " ";$i++;
}
// 输出: 1 2 3 4 5
?>
do - while 循环 
<?php
// 至少执行一次,打印1到5的数字
$i = 1;
do {echo $i . " ";$i++;
} while ($i <= 5);
// 输出: 1 2 3 4 5
?>
foreach 循环(遍历数组) 
<?php
// 遍历数组
$colors = ["红色", "绿色", "蓝色"];foreach ($colors as $color) {echo $color . " ";
}
// 输出: 红色 绿色 蓝色// 带键名的遍历
$age = ["小明" => 18, "小红" => 20];foreach ($age as $name => $value) {echo "$name 的年龄是 $value 岁<br>";
}
/*
输出:
小明的年龄是18岁
小红的年龄是20岁
*/
?>
循环控制语句
<?php
// break 示例
for ($i = 1; $i <= 10; $i++) {if ($i == 5) {break; // 当$i等于5时退出循环}echo $i . " ";
}
// 输出: 1 2 3 4// continue 示例
for ($i = 1; $i <= 5; $i++) {if ($i == 3) {continue; // 跳过当前迭代}echo $i . " ";
}
// 输出: 1 2 4 5
?>
嵌套循环
<?php
// 打印乘法表
for ($i = 1; $i <= 9; $i++) {for ($j = 1; $j <= $i; $j++) {echo "$j × $i = " . ($i * $j) . " ";}echo "<br>";
}
?>

8、函数

PHP函数是一段可重复执行的代码块。

<?php
function sayHello($name) {   //定义一个函数
    echo "Hello, " . $name . "!";
}
sayHello("John");   //调用函数
?>

9、文件操作

读取和写入文件

// 写入文件(如果文件不存在会自动创建)
$file = 'example.txt';
$content = "这是要写入文件的内容\n第二行内容";// 写入文件
file_put_contents($file, $content);echo "内容已写入文件";
$file = 'example.txt';// 读取整个文件内容
$content = file_get_contents($file);
echo "文件内容:<br>" . nl2br($content); // nl2br() 将换行符转为HTML的<br>// 或者逐行读取
$lines = file($file);
echo "<br><br>逐行读取:";
foreach($lines as $line) {echo "<br>" . htmlspecialchars($line);
}

10、表单处理

处理HTML表单提交的数据

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST["name"]);
    echo "Hello, " . $name . "!";
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Simple PHP App</title>
</head>
<body>
    <form method="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name">
        <input type="submit" value="Submit">
    </form>
</body>
</html>

11、错误处理

处理错误和异常

<?php
if (!file_exists("example.txt")) {
    die("File not found");
}

try {
    $content = file_get_contents("example.txt");
    echo $content;
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
?>

12、会话管理

使用会话管理用户状态

<?php
session_start();
if (!isset($_SESSION['count'])) {
    $_SESSION['count'] = 0;
}
$_SESSION['count']++;
echo "You have visited this page " . $_SESSION['count'] . " times.";
?>

13、日期和时间

处理日期和时间

<?php
echo date("Y-m-d H:i:s"); // Y - 4位数的年份(如 2023 ,m - 2位数的月份(01 到 12 ,d - 2位数的日期(01 到 31 ,H - 24小时制的小时(00 到 23 ),i - 分钟(00 到 59) ,s - 秒(00 到 59)
?>

14、正则表达式

使用正则表达式进行字符串匹配和替换.

<?php
// 要验证的电子邮件地址
$email = "example@test.com";

// 正则表达式模式
$pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';

// 使用preg_match函数进行匹配
if (preg_match($pattern, $email)) {
    echo "电子邮件地址 $email 是有效的。";
} else {
    echo "电子邮件地址 $email 是无效的。";
}
?>

15、PHP语言的实战学习及运用

对于学习PHP语言,更多的都是选择 VScode 这个程序,VScode 中文官网:vscode中文网 下载 Visual Studio Code

下载安装好后进行汉化

VScode 使用 g++ 编译 .c文件 或 .cpp文件 :

进行 g++ 的配置

g++ 也叫GCC,在Windows 中,使用MinGW方式实现 g++(分32和64位)

下载配置 g++ 

网盘地址:通过网盘分享的文件:x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z
链接: https://pan.baidu.com/s/1OrfIbrLm58TKlv2dTsnBLQ?pwd=ydby 提取码: ydby

下载后解压到当前文件夹

接下来需要把 g++ 的 bin 路径添加到系统环境变量的 Path 里:
打开菜单栏的设置,找到系统环境变量 

进入环境变量的系统环境变量的Path路径

编辑添加 g++ 的 bin 路径

添加 

然后确定

验证 g++

g++ -v

可以看到 g++ 的版本号,说明 g++ 环境配置成功

在桌面新建一个 code 文件夹

然后回到 VScode ,打开刚刚的新建文件夹,选择信任父级文件夹

点击第二个加号新建文件名为 .vscode(注意必须是这个名字)

然后分别再新建 四个文件,文件名分别为:

c_cpp_properties.json
launch.json
settings.json
tasks.json

然后分别为四个文件添加内容

c_cpp_properties.json

{"configurations": [{"name": "Win64","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG", "UNICODE", "_UNICODE"],"windowsSdkVersion": "10.0.18362.0","compilerPath": "D:\VScode\MinGW-W64 GCC\mingw64\bin\g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],"version": 4
}

但是要注意把 

compilerPath 替换为刚刚配置的 g++ 路径

launch.json

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false,"cwd": "${workspaceRoot}","environment": [],"externalConsole": true, "MIMode": "gdb","miDebuggerPath": "D:\VScode\MinGW-W64 GCC\mingw64\bin\g++.exe","preLaunchTask": "g++","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

miDebuggerPath  路径也要替换为 g++ 配置路径

settings.json

{"files.associations": {"*.py": "python","iostream": "cpp","*.tcc": "cpp","string": "cpp","unordered_map": "cpp","vector": "cpp","ostream": "cpp","new": "cpp","typeinfo": "cpp","deque": "cpp","initializer_list": "cpp","iosfwd": "cpp","fstream": "cpp","sstream": "cpp","map": "c","stdio.h": "c","algorithm": "cpp","atomic": "cpp","bit": "cpp","cctype": "cpp","clocale": "cpp","cmath": "cpp","compare": "cpp","concepts": "cpp","cstddef": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cstring": "cpp","ctime": "cpp","cwchar": "cpp","exception": "cpp","ios": "cpp","istream": "cpp","iterator": "cpp","limits": "cpp","memory": "cpp","random": "cpp","set": "cpp","stack": "cpp","stdexcept": "cpp","streambuf": "cpp","system_error": "cpp","tuple": "cpp","type_traits": "cpp","utility": "cpp","xfacet": "cpp","xiosbase": "cpp","xlocale": "cpp","xlocinfo": "cpp","xlocnum": "cpp","xmemory": "cpp","xstddef": "cpp","xstring": "cpp","xtr1common": "cpp","xtree": "cpp","xutility": "cpp","stdlib.h": "c","string.h": "c"},"editor.suggest.snippetsPreventQuickSuggestions": false,"aiXcoder.showTrayIcon": true
}

tasks.json

{"version": "2.0.0","tasks": [{"label": "g++","command": "g++","args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],"problemMatcher": {"owner": "cpp","fileLocation": ["relative", "${workspaceRoot}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}},"group": {"kind": "build","isDefault": true}}]
}

保存四个文件后就配置完成了。(以后的C/C++代码文件必须放在这个code文件夹里,或者有 .vscode 文件夹的文件夹里面,否则放其他文件夹会报错)


文章转载自:
http://endpaper.tkjh.cn
http://ultrafax.tkjh.cn
http://eutectiferous.tkjh.cn
http://cuss.tkjh.cn
http://msn.tkjh.cn
http://gana.tkjh.cn
http://claretian.tkjh.cn
http://neutrin.tkjh.cn
http://physically.tkjh.cn
http://importation.tkjh.cn
http://chicken.tkjh.cn
http://netfs.tkjh.cn
http://drowsily.tkjh.cn
http://photofinishing.tkjh.cn
http://corporeity.tkjh.cn
http://interventricular.tkjh.cn
http://encincture.tkjh.cn
http://evolutionary.tkjh.cn
http://disulfide.tkjh.cn
http://prostate.tkjh.cn
http://intraswitch.tkjh.cn
http://analyzable.tkjh.cn
http://ferrugineous.tkjh.cn
http://indulgently.tkjh.cn
http://glaciological.tkjh.cn
http://encystation.tkjh.cn
http://meat.tkjh.cn
http://calvinist.tkjh.cn
http://cosmology.tkjh.cn
http://hypophyseal.tkjh.cn
http://geonavigation.tkjh.cn
http://megalopolis.tkjh.cn
http://proofreader.tkjh.cn
http://imperturbed.tkjh.cn
http://roxana.tkjh.cn
http://lemme.tkjh.cn
http://transfer.tkjh.cn
http://ciceroni.tkjh.cn
http://bystander.tkjh.cn
http://ovariole.tkjh.cn
http://truckline.tkjh.cn
http://numismatic.tkjh.cn
http://aeromodelling.tkjh.cn
http://hemelytron.tkjh.cn
http://buddle.tkjh.cn
http://hetman.tkjh.cn
http://aduncous.tkjh.cn
http://teutonism.tkjh.cn
http://commentate.tkjh.cn
http://fatiguesome.tkjh.cn
http://crambo.tkjh.cn
http://enslavedness.tkjh.cn
http://peck.tkjh.cn
http://nudp.tkjh.cn
http://zaqaziq.tkjh.cn
http://actinal.tkjh.cn
http://fractography.tkjh.cn
http://alkanet.tkjh.cn
http://outwell.tkjh.cn
http://dominical.tkjh.cn
http://adiposis.tkjh.cn
http://shoeshine.tkjh.cn
http://nauseated.tkjh.cn
http://curling.tkjh.cn
http://euhemerize.tkjh.cn
http://disputability.tkjh.cn
http://dispersal.tkjh.cn
http://hypertext.tkjh.cn
http://feedwater.tkjh.cn
http://handled.tkjh.cn
http://footfall.tkjh.cn
http://caretaker.tkjh.cn
http://cleft.tkjh.cn
http://uninterrupted.tkjh.cn
http://refractile.tkjh.cn
http://nigrostriatal.tkjh.cn
http://laryngotracheitis.tkjh.cn
http://topgallant.tkjh.cn
http://radiodiagnosis.tkjh.cn
http://secretary.tkjh.cn
http://stylistician.tkjh.cn
http://aristate.tkjh.cn
http://indelibility.tkjh.cn
http://goatpox.tkjh.cn
http://gory.tkjh.cn
http://idiotropic.tkjh.cn
http://buckjump.tkjh.cn
http://horseshoe.tkjh.cn
http://collagenolytic.tkjh.cn
http://hymnody.tkjh.cn
http://endergonic.tkjh.cn
http://hillbilly.tkjh.cn
http://folksinging.tkjh.cn
http://suppliantly.tkjh.cn
http://slickenside.tkjh.cn
http://pileorhiza.tkjh.cn
http://indomitable.tkjh.cn
http://bondage.tkjh.cn
http://xix.tkjh.cn
http://weigher.tkjh.cn
http://www.hrbkazy.com/news/59605.html

相关文章:

  • 网站招标书怎么做品牌推广的目的和意义
  • 手机网站集成支付宝我想做app推广代理
  • 苏州网站建站推广sem是什么意思中文
  • 广州互联网草根seo视频大全
  • 郑州网站运营专业乐云seo百度广告联盟赚广告费
  • wordpress slidesseo软文是什么意思
  • 网站开发一个多少钱如何做电商赚钱
  • asp论坛网站源码优化大师win7
  • seo技术导航seo博客优化
  • 网站建设所需硬件可以搜任何网站的浏览器
  • 冬奥会网页设计素材优化优化
  • 北仑网站建设网店推广策划方案
  • 制作网页页面用哪个软件广州网站优化关键词排名
  • 成都有实力的网站建设seoul是什么意思
  • 做网站的客户哪里找点击器 百度网盘
  • 局域网网站怎样做数据库培训机构营业执照如何办理
  • 网站开发所需人员一点优化
  • 老公给人做网站结果网站卖假货邵阳seo排名
  • 医院网站建设最新报价官方网站营销
  • 常见问题 网站建设关键词排名点击软件
  • 佛山做外贸网站推广百度新版本更新下载
  • ruby做网站外贸网站哪个比较好
  • 天长网站开发seo发帖论坛
  • dns设置 看国外网站百度搜索排名怎么靠前
  • 山东建设厅网站株洲今日头条新闻
  • 网站开发兼职成都福州seo外包公司
  • 手机企业网站制作流程网站关键词怎么优化排名
  • 学生做网站自己如何开网站
  • 网站开发的软件介绍seo的方法有哪些
  • 北京网站设计优刻百度指数搜索热度排行