从今天开始就正式重新学习php了,先从基础的开始哇
现在开发基本就是用框架, thinkphp 这个框架,也把php基础的给忘完了。
1.首先聊下什么是php?
php(原来全称为Personal Home Page后来改为Hypertext Preprocessor,中文名:“超文本预处理器”),php语言是开源 脚本语言 ,通过动态构建网页的服务器端脚本语言。现在绝大部分web端页面后端语言都是选用php开发为主,在国内刚开始以百度、阿里、腾讯等大厂为主。因为较其他语言C/C++/JAVA/PYTHON/NET/ASP等,门槛低、开发成本低、周期短、易维护、运行速度快、体量小等。
2、php能做什么?
其实php可以做很多的事情,例:
- 可以生成动态页面和文件
- 可以在服务器上创建、读取、修改、删除、写入、打开、关闭文件
- 可以在web表单收集数据
- 创建门户网站、商城、H5、企业网站等等
3、php语法
以<?php开始,?>结束;
php每行代码以 分号 ;结束,分号是一种分隔符。
php文件后缀扩展名 ‘.php’。
PHP,有两种在浏览器输出文本的基础指令: echo 和 print 。
echo – 可以输出一个或多个 字符串
print – 只允许输出一个字符串,返回值总为 1
echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
<?php
echo 'hello word' ;
print ‘你好’;
?>
4、php中的注释
单行以 双斜杠 //;多行以/**/
<?php
//中国加油!武汉加油!
/*
中国加油!武汉加油!
我们一定能战胜这场肺炎战役
防护疫情,人人有责
*/
5、php变量
php变量的声明(创建)不需要像Javascript去用var声明,php变量没有声明变量的命令
变量在赋值的时候也就被创建了
<php
$arr = [];
$a = 5;
?>
不得不说下声明变量的规则:
6、变量的作用域
在php语言中变量有四种不同的作用域
- local
- global
- static
- parameter
6.1、局部作用域和全局作用域
定义在函数外部的就是 全局变量 ,它的作用域从定义处一直到文件结尾。
函数内定义的变量就是 局部变量 ,它的作用域为函数定义范围内
6.2、global关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字
在所有的函数外定义的变量,拥有全局作用域,全局变量(global)可以被 脚本 中任何部分访问。要在函数中访问全局变量要使用global这个关键字。
<php
$a = 5; //全局变量
function my(){
$b = 10; //局部变量
echo $a;
echo $b;
}
my();
echo $a;
echo $b;
?>
<php
$a = 5; //全局变量
$b = 10; //全局变量
function my(){
global $a,$b;
$b=$a+$b;
}
my();
echo $a;
echo $b;
?>
6.3、static作用域
在php中,当一个函数完成后,它的的变量通常会被删除。有时候某个局部变量,如果不想被删除的话,在第一次声明的时候要使用static关键字。
<?php
function test(){
static $a = 0;
echo $a;
$a++;
echo PHP_EOL; //换行符
}
test();
?>
6.4、参数作用域
参数是通过调用代码将值传递给函数的局部变量;
<?php
function test($a){
echo $a;
}
test(5);
?>
总结:函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖
7、常量
什么是常量?
常量值被定义后,脚本的其他任何地方都不能修改。
常量是一个简单值的标识符,一旦被定义了,其值就不能修改了。
一个常量由英文字母、下划线、数字组成,但是数字不能作为首字母开头,不需要$符开头。
如何设置常量?
要使用define()函数声明
<?php
语法: define(string $name,mixed $value[,bool $case_insensitive = false]);
define('HULITONG',"欢迎来到内蒙古呼和浩特");
echo HULITONG;
?>
- name:必选参数,常量名称
- value : 必选参数,常量的值
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的