25分钟了解php?php基础

今日学习目标:
学习php基础
✅创作者:贤鱼
⏰预计时间:35分钟
个人主页:贤鱼的个人主页
专栏系列:网络安全


php基础

  • 如何运行
  • 语法
    • 注释
    • 输入输出语句
      • 输出
      • 输入
    • 变量
      • 变量作用域
      • 超级全局变量
    • 数据类型
      • 数字型
      • 字符串型
      • 布尔型
      • 数组型
        • 定义
        • 增加元素
        • 删除元素
        • 查找元素
        • 修改元素
    • 常量
      • 定义
      • 系统常量
    • 运算符
      • 算数运算符
      • 字符串运算符
      • 赋值运算符
      • 位运算
      • 逻辑运算符
      • 比较运算符
      • 其他运算符
    • 流程控制语句
      • if-elseif-else
      • switch
      • while
      • do-while
      • for
      • foreach
    • 函数
  • 结束语

如何运行

这里用vscode举例

调出cmd
在终端输入php 名字+tab(tab自动补全名字)

记得要进入目标目录下
在这里插入图片描述

语法

在php文件中,既可以包含HTML代码,也可以包含php代码
而php代码必须用 包裹起来

举个例子

<html>
	<head>
		<title>Example</title>
	</head>
	<body>
		<?php
			echo "Hi, I'm a PHP script!";//可以看到php语句在HTML中
		?>
	</body>
</html>

注释

// 注释当前一行
/包裹内容全部注释/

输入输出语句

输出

echo “hellow word\n”;
输出一个或者多个字符串
var_dump(“hello word”);
打印相关变量的信息
printf(“%s”,“hellow word\n”);
和c语言一样,格式化输出
var_export
输出或者返回一个变量的字符串表示


<?php
    echo "Hello World\n";
    var_dump("Hello World");
    printf("%s","hello word\n");
?>

在这里插入图片描述

输入

fgets(STDIN): 获取输入的当前行
fread(STDIN,n): 获取前n个字符
fgetc(STDIN):获取一个字符
sscanf(string $str ,string KaTeX parse error: Expected 'EOF', got '&' at position 17: …ormat [, mixed &̲… ]):将 str 按照 fromat 进行格式化解析


    $str = fgets(STDIN);//获取当前行
    sscanf($str,"%s %d",$s,$d);
    echo $s,$d;
?>

在这里插入图片描述

变量

$a=1;
$b;
%c="hellow word";

$+变量名

如果为赋值直接使用,变量将为空

变量作用域

分为全局变量局部变量static关键字

全局变量:定义在函数外都可以使用的变量,在整个文件中都可以用,作用域是从定义处一直到文件结尾

局部变量:函数内定义,只能在函数内部使用,作用域就是函数定义范围内。函数内使用全局变量需要global关键字或者==$globals[变量名]==数组

static关键字:将变量生存周期变为全局,不会影响作用域

超级全局变量

$GLOBALS//一个包含了全部变量的全局数组。变量的名字就是数组的键。
$_SERVER//服务器和执行环境信息,是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
$_GETHTTP GET //变量,通过URL参数传递给当前脚本的变量的数组。 自动url解码
$_POSTHTTP POST// 变量,HTTP POST请求的。Content-Type 是 application/x-www-formurlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILESHTTP //文件上传变量,通过 HTTP POST方式上传到当前脚本的项目的数组
$_REQUESTHTTP //Request 变量,默认情况下包含了 $_GET(自动url解码),$_POST 和$_COOKIE 的数组。
$_SESSION//Session 变量,当前脚本可用 SESSION 变量的数组
$_ENV//环境变量,通过环境方式传递给当前脚本的变量的数组。
$_COOKIE//HTTP Cookies,通过 HTTP Cookies方式传递给当前脚本的变量的数组
$php_errormsg//前一个错误信息
$HTTP_RAW_POST_DATA//原生POST数据
$http_response_header//HTTP 响应头,使用HTTP 包装器时,$http_response_header 将会被HTTP 响应头信息填充。
$argc//传递给脚本的参数数目,传递给脚本的参数数目
$argv:传递给脚本的参数数组,传递给脚本的参数数组

数据类型

数字型

$int1=1234 //十进制正整数
$int2=-1234 //负整数
$int3=01234 //八进制整数
$int4=0x1234 //十六进制整数
$float1=666.66 //浮点数
$float2=6.6666e2 //表示6.6666乘以10的2次方,为指数形式的浮点数

字符串型

$c1 = 'c'
$c2 = "c"
$s1 = 'str'
$s2 = "str"

布尔型

只有true和false

$a = true;
$b = false;

数组型

定义

PHP中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。
key的值必须是整型或者字符串型values值可以是任何类型
定义数组时如果不加key键,key值默认从0开始(下标从0)。

$array1 = [
	"foo" => "bar",
	"bar" => "foo",
];
$array2 = ['a','b']; #等价于 $array2 = [ 0 => "a", 1 => "b"];
$array3 = array(
	"foo" => "bar",
	"bar" => "foo",
);
$array4 = array("a","b"); #等价于 $array4 = array(0 =>'a', 1=>'b')

增加元素

改变赋值来增加元素

$arr['xxx']='yu';

删除元素

利用unser()函数

unset($arr['xianyu']);

查找元素

用key直接访问

var_dump($arr['aaa']);

修改元素

通过ket访问并且修改

$arr['aaa']='xianyu'

常量

定义

define ( string $name , mixed $value )
	name:必选参数,常量名称,即标志符。
	value:必选参数,常量的值。
define('SCHOOL','xianyu');
echo SCHOOL;

在这里插入图片描述

系统常量

名字 作用
_LINE _ 文件中的当前行号。
_FILE _ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
_DIR _ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
_FUNCTION _ 函数名称(PHP 4.3.0 新加)。
_CLASS _ 类的名称(PHP 4.3.0 新加)。
_TRAIT _ Trait 的名字(PHP 5.4.0 新加)。
_METHOD _ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
_NAMESPACE _ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0增)。

运算符

算数运算符

符号 意义
+
-
*
/
% 取余
++ 累加
累减

字符串运算符

只有一个英文句号 .

赋值运算符

符号 意义
= 右边的赋值给左边
+= 左边的值加上右边的值
-= 左边的值减去右边的值
*= 左边的值乘右边的值
%= 左边的值对右边的值取余数
.= 左边字符串连接到右边

位运算

符号 意义
& 按位与
竖杠 按位或
^ 按位异或
>> 按位右移
<< 按位左移
~ 按位取反

逻辑运算符

符号 意义
&&(and) 逻辑与
两个竖杠 逻辑或
xor 逻辑异或
逻辑非

比较运算符

符号 意义
< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于(不包括类型)
=== 完全等于(类型也要相等)
!= 不等于

其他运算符

符号 意义
$ 定义变量
& 变量地址
@ 屏蔽错误信息(扔到函数前头)
-> 应用对象方法或者属性
=> 用于数组元素赋值)
?: 三目运算符

流程控制语句

if-elseif-else

if ($a > $b) {
	echo "a is bigger than b";
} elseif ($a == $b) {
	echo "a is equal to b";
} else {
	echo "a is smaller than b";
}

switch

switch ($i) {
	case 0:
		echo "i equals 0";
		break;
	case 1:
		echo "i equals 1";
		break;
	case 2:
		echo "i equals 2";
break;
}

while

$i = 1;
while ($i <= 10) {
	echo $i++;
}

do-while

$i = 0;
do {
	echo $i;
} while ($i > 0);

for

or ($i = 1; $i <= 10; $i++) {
	echo $i;
}

foreach

$arr = array("one", "two", "three");
foreach ($arr as $key => $value) {
	echo "Key: $key; Value: $value
\n"
; } foreach ($arr as $value) { echo "Value: $value
\n"
; }

函数


function add_some_str_a($string)
{
	$string .= 'and something extra.';
}
function add_some_str_b(&$string)
{
	$string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_str_a($str);
echo $str."\n";
add_some_str_b($str);
echo $str."\n";
?>

在这里插入图片描述

结束语

后面会继续更新关于php的内容,可以订阅专栏关注一下奥

你可能感兴趣的:(网络安全,php,开发语言,服务器)