PHP入门笔记
注:个人笔记就是没有大纲、没有目录、没有结构,纯属本人笔记用。
正文
tips:
*<?php ?>一定在php后面空一个空格。
*全局变量不能在函数里面使用,这点很特殊。
*全局变量在预定义变量数组
G
L
O
B
A
L
S
[
]
里
面
。
使
用
如
下
GLOBALS[]里面。使用如下
GLOBALS[]里面。使用如下ok = 0; echo $GLOBALS[“a”];
可以在cmd中使用 php.exe -f name.php 来执行php文件并显示在cmd窗口上
Apache和php的结合两大步:
一、让Apache解析php文件
(1)在Apache中加载php:找到conf文件,加上LoadModule php7_module “php7apache.dll的绝对路径”
httpd.exe -M 可以显示所有模块
(2)在Apache中分配php:在上面那句话之后加上 AddType application/x-httpd-php .php
记得重启服务。
二、将php配置文件加载到Apache配置文件中:
(1)PHPIniDir “php所在的整个文件夹根目录”
(2)将php.ini-development 文件复制一份并改名为php.ini
php7配置mysql的方法:https://blog.youkuaiyun.com/qq_41544227/article/details/85063362
记得操作之后要重启Apache服务器
如果有时区警告:则在php.ini中添加 date.timezone = PRC
php使用标准标记:<?php "php语句" ?>
php注释:行注释 #,// ,块注释 /* */
1.php中变量:所有变量必须使用 符 号 开 头 , 并 且 无 需 使 用 关 键 字 来 定 义 , 系 统 预 定 义 变 量 都 是 数 组 , 详 见 图 。 如 : 符号开头,并且无需使用关键字来定义,系统预定义变量都是数组,详见图。 如: 符号开头,并且无需使用关键字来定义,系统预定义变量都是数组,详见图。如:var1; $var2 = 1;
2.输出:echo v a r 2 ; 删 除 变 量 : u n s e t ( var2; 删除变量:unset( var2;删除变量:unset(var2);
3.可变变量:$a = ‘b’; $b = “hello world”; 则 $$a = “hello world”;
4.变量传值一共有两种方式,分别是值传递和引用传递,其中一个变量可以存放值或者引用,比如
$a = 1; KaTeX parse error: Expected 'EOF', got '&' at position 5: b = &̲a; $b = 2; echo
a
,
a,
a,b; 如果变量里面是一个地址,则变量会先去找地址再找值。
5.定义常量:使用函数define(“常量名”,常量值); | 使用const PI = 3.14;来定义。注意无需$开头,
echo constant("-_-");可以输出特殊变量。系统常量见图。魔术常量:name 该常量随系统改变,
用户改变不了,详见图。
6.数据类型的转换:将“abc123”转换成数字为零,“1.2.3abc”转换成数字为1.2。
7.数据判断:is_XXX(var);函数来返回false或者true,不能用echo来输出,用形如var_dump(is_int(
a
)
)
;
输
出
。
也
可
以
直
接
v
a
r
d
u
m
p
(
a));输出。 也可以直接var_dump(
a));输出。也可以直接vardump(a,
b
)
;
来
输
出
多
个
变
量
的
类
型
。
另
一
种
方
法
是
:
e
c
h
o
g
e
t
t
y
p
e
(
b);来输出多个变量的类型。 另一种方法是:echo gettype(
b);来输出多个变量的类型。另一种方法是:echogettype(a);返回string类型,还可以使用settype(
a
,
"
i
n
t
"
)
;
来
使
得
a,"int");来使得
a,"int");来使得a变量永久转换类型,返回bool值用var_dump()输出,
只有用settype()方法才能永久使得变量转换类型,括号强制转换只是暂时的改变变量类型。
8.整型数据4字节,32位有符号,Empty()判断值是否为空但0和“0”认为是空的,Isset()判断变量本身是否存存在。
9.运算符:=== 全等于 大小和类型都要相同, !==不全等于,大小或类型一个不同。php是弱类型,所以用
== 来判断123和“123”是相同的,用 ===才会不同。php是惰性运算。
.是连接运算符,比如 $a . $b 可以将两个字符串连接在一起。@错误抑制符。
10.循环:for(;;){},可以用for(;😉: endfor;来替代大括号。
11.输出函数:print() 类似于echo可以不用括号,有返回值1,print_r()只会输出值不会输出类型。类似var_dump()。
12.文件包含:include或require来包含文件 如include “example.php”,其中include_once可以只定义一次。
区别:报错的形式不一样。前者只是警告,后者出现错误中断。
13.定义函数:function add(
a
,
a,
a,b){echo $a + KaTeX parse error: Expected 'EOF', got '}' at position 3: b;}̲ 实参可以多于形参,实参不能小…a = 0){…},&开头是引用参数。只有变量能引用传递。函数一般都有返回值,
默认是NULL用var_dump()来返回。return具有终止的作用,在文件包含中也照样适用,即include语句可以放回值。
14.作用域:全局变量,是普通定义的变量,重点注意函数里面不能使用,局部变量只能在函数里面使用。
另一种方法:global 关键字,如global
a
;
不
能
定
义
时
赋
值
。
变
量
a;不能定义时赋值。变量
a;不能定义时赋值。变量a在内外都只有一个存储空间即同一个。
(如果全局有变量$a,内部global之后如同extend关键字,或者内部global $a,在外部也可以直接使用)
15.静态变量:函数内部定义的static变量。
16.可变函数:意思是如果有一个变量的值正好和函数名相同,则可以用该变量名+()来直接使用该函数。
可变函数一般用在参数需要传入一个函数的时候。
17.匿名函数:直接用function关键字来定义匿名函数,可以在定义的时候直接赋值给一个变量,这个变量的使用
类似于可变函数。其实匿名函数返回的是一个对象。匿名函数可以在函数内部使用,形成闭包。
function()use($a){} use关键字可以让匿名函数使用外部变量。
18.错误处理:(1)语法错误:代码不会执行,代码不规范,(2)运行时错误:如变量不存在(3)逻辑错误。
错误设置,打开php.ini进行设置或在脚本中进行设置如Error_reporting()设置错误级别。
19.定义数组:(1)
a
=
a
r
r
a
y
(
1
,
2
,
"
3
"
)
;
(
2
)
a = array(1,2,"3"); (2)
a=array(1,2,"3");(2)a = [1,2,“3”];下标允许是某个字符串,下标不要用特殊的
字符,比如true、false。array(“example”=>20) 等于 [example] = 20;
20.数组遍历语法:
a
=
[
1
,
2
,
3
]
;
f
o
r
e
a
c
h
(
a = [1,2,3];foreach(
a=[1,2,3];foreach(a as $i){echo KaTeX parse error: Expected 'EOF', got '}' at position 2: i}̲或foreach(a as $j =>
i
)
;
i){};
i);j是下标,$i是值
php数组更像是python里面的字典。each()函数的使用:each(数组)可以返回一个四元素的数组,分别是
[0]=>下标,[1]=>值,[key]=>下标,[value]=>值,再次使用则后移。each()函数取不到元素之后返回false。