一.初始php(配置环境+认识输出语句)
PHP配置
1.环境一键配置
phpStudy: Www.xp.cn (下载完后自带Apache,mysql等应用,可在study中启动)
(我自己电脑的位置 - E:\PHP\phpstudy_pro\COM\phpstudy_pro.exe)
2.下载phpstorm(下载完后可以根据自己喜好在plugin里下载chinese中文包)
3.PJ版:下载2022.3版本的,安装后打开,一直到需要激活码的页面后关闭。关注echeverra 回复phpstorm 获取IDE激活包。不过还是最好自己上网找找。
4.phpstudy 显示80端口被占用的解决方法
5.如果以前下载过mysql,可能会出现phpstudy里mysql无法启动,需要上网寻找操作
二、php变量
php是没有声明变量的!!!
可以使用unset(变量) 删除变量
echo输出语句 ==print,常用echo
例子
<?php
$x=5; //给x赋值
echo $x; //输出x
?>
echo是没有返回值的,print是有的.
echo是不能输出布尔类型的,可以使用var_dump()
<<<EOF
可以多行文本输出
>>>
二、上手PHP(数据类型、常量、运算符)
一、打开PHP文件
想要进入自己写的php文件中
需要在网址里输入
这是较新版本:Localhost:8080(端口号)/phpstudy(存放的文件目录)/文件名
只要是放在WWW文件夹里面就行,里面的名字随便起。
二、数据类型
判断数据类型
使用is_xxx($变量名),返回布尔类型
获取数据类型
使用gettype(变量名)
设置数据类型
Settype(变量,类型),会对原来数据造成变化,而强转则不是,强转是复制了一个相同的数据
三、定义常量的两种方法,在5.3版本后:
1.define('常量名',常量值) 设置常量
2.const 常量 = 常量值
常量的名字 通常以大写字母为主
一般访问常量都可以直接使用,但是如果遇到特殊名字的常量,就需要访问常量的函数:constant('常量名')
四、可变变量
五、作用域
在PHP中全局变量是不可以在函数内部中使用的。
超全局变量(预定义变量/系统定义的变量),超全局变量会自动将全局变量纳入超全局变量中,如果想在函数内部使用外部变量的话,可以使用调用超全局变量这种方法(但是不推荐,最好还是使用引用传值)
1、也可以使用global定义,如果使用global定义的变量名在外部存在(全局变量)。那么系统在函数内部的变量直接指向外部全局变量所指向的内存空间(同一个变量)
2、如果不存在的话,会在外部定义一个与局部变量同名的全局变量。
三、PHP函数
一、函数是通过调用函数来执行的。
语法
<?php
function functionName()
{
// 要执行的代码
}
?>
例子:
<?php
function writeName() {
echo "666";
}
echo "My name is ";
writeName(); ?>
输出:
My name is 666
跟其它代码一样,函数体里可以输入参数,用来调用函数输入值。return 返回值
二、常用的打印输出函数
var_dump() 函数用于输出变量的相关信息。
var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
PHP 版本要求: PHP 4, PHP 5, PHP 7
<?php $a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
输出结果为:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
三、闭包函数 //函数执行完后没有被释放,还在被引用,就是闭包
Function display1(){
$name = _FUNCTION_;
//匿名函数
$innerfunction = function() use($name){ //use就是将外部变量(局部)保留给内部使用。不适用use,innerfunction会报错,无法调用name
echo $name;
};
return $innerfunction(); //返回内部匿名函数
}
$closure = Display1(); //到这为止,函数运行结束
$closure(); //结果为 display1。在外部调用内部匿名函数时,可以被使用
四、数值转换/运算符
一、数值转换
默认的php输出数据都会自动转换成10进制
在php里也有提供转换不同进制的函数,可以直接使用
错误抑制符
@:在可能出错的表达式前面使用@符号即可,这样出错时,就不会显示
通常在生产环境(上线)会用到,在开发的时候不会用。
二、连接运算符
在php中拼接可以使用.
例如
$x=5;
$chen="chen";
Echo $chen.$x;
//会输出chen5
也能使用缩略写法 .=
$chen .=$x
一样的输出结果
在php中,不相等可以使用<>
例如
If($i<>&j){
Echo "不相等"
}else{
Echo "1"
}
也能跟以前一样使用 !=
==,只是比较值,不比较数据类型 ,可以理解为自动转类型作比较了
然后=== 全等于,左边与右边相同,大小以及数据的类型都必须相同
三、位运算符
五、循环结构
for($表达式1 ; $表达式2 ; $表达式3){
}
这种情况需要避免,会无限循环
//如果变量名为整数的话
Switch($变量名){
case 1:
echo '1';
break;
case 2:
echo '2';
break;
Default: //如果都没有,默认执行
echo 'error'
break;
}
扩展:替代语法
左边大括号变为分号:
右边大括号变成endfor;