🏆今日学习目标:
🍀学习php基础
✅创作者:贤鱼
⏰预计时间:35分钟
@TOC
如何运行🍀
这里用vscode举例
调出cmd
在终端输入php 名字+tab(tab自动补全名字)
记得要进入目标目录下
语法🍀
在php文件中,既可以包含HTML代码,也可以包含php代码
而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 $format [, mixed &$... ]):将 str 按照 fromat 进行格式化解析
<?php
$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)等等信息的数组
$_GET:HTTP GET //变量,通过URL参数传递给当前脚本的变量的数组。 自动url解码
$_POST:HTTP POST// 变量,HTTP POST请求的。Content-Type 是 application/x-www-formurlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILES:HTTP //文件上传变量,通过 HTTP POST方式上传到当前脚本的项目的数组
$_REQUEST:HTTP //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<br />\n";
}
foreach ($arr as $value) {
echo "Value: $value<br />\n";
}
函数
<?php
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的内容,可以订阅专栏关注一下奥