php基础

文章目录

基本语法

  • 每一个statement后面以;结尾,与C/C++和Java一样
  • 注释用//,和C/C++一样

基本数据类型:

跟一般高级语言相比没啥特殊,暂不深究

整型

字符型

字符串型

浮点型

布尔类型:

运算符

加减乘除逻辑那些就不用说了

?? 空合并

php 复制代码
$activeSection = $_GET['section'] ?? 'profile';
\\检查左侧值是不是null,是null就返回右侧值,不是就返回左侧值

定义变量

php定义变量的规则在高级语言里比较奇葩一点,

php 复制代码
$num = 10;
  • 变量名必须以$开头,与我们常见的"由字母数字下划线组成,只能由字母下划线开头"不同

字符串操作

连接:

php 复制代码
die("数据库错误: " . $e->getMessage());
//就这样用一个点,"字符串1内容" . "字符串2内容",然后这两个字符串就连一块了

内置变量

php和python都有built-in variables,C/C++就没有,想来是因为C/C++是静态类型而php和python是动态类型的缘故,C/C++如果也加入内置变量这种机制的话,那么我程序员我再自个定义了个同名的变量,这不重定义了么,这样容易造成很多bug,但是php和python作为动态类型语言那就不一样了,php和python中严格来说是不能只定义一个变量而不适用,在php和python中使用即定义,定义即使用,那么你想再定义一个与内置变量同名的变量来造成错误也做不到,因为你一定义就是使用,使用就用的还是原来的内置变量,你做不到自己去定义一个同名的新的。所以内置变量这种机制广泛存在于动态类型语言中,而在静态类型语言中见不到。

php中有个非常常用的内置变量,

$_SESSION:会话信息

一般来说$_SESSION是个键值对,用于存储会话的一些信息,比如用户ID密码,当然你也可以给他赋值成别的(反常规的操作还是尽量别干吧)

$_GET:获取URL参数

_GET:这是 PHP 的一个超全局变量,属于关联数组,用于获取通过 HTTP GET 请求传递的查询字符串参数。例如,URL 为 https://example.com/student.php?section=enrolled,_GET 数组就会包含一个键为 'section',值为 'enrolled' 的元素。

内置函数

内置函数这可多了,尤其咱们重点要关注的是和网络通信功能有关的内置函数,毕竟php为啥火起来的就是因为他搁前后端通信这块封装的好,工具组件多,用起来简洁好用。

功能工具类的,utils

php 复制代码
function isset($var, ...$vars): bool
//检查参数对象是否已经被定义且不为null,是则返回true
php 复制代码
//初始化或恢复会话
function session_start(array $options = []): bool

网络通信类的

php 复制代码
//发送请求头
function header(
    string $header,
    bool $replace = true,
    int $response_code = 0
): void
//请求头就是跳页面用的
header('Location: login.php');

会话管理类的

php 复制代码
session_start()
php 复制代码
function die(int|string $status = 0): never
相关推荐
bjxiaxueliang8 分钟前
一文详解Cpp多线程编程:从传统pthread到现代thread实践指南
java·开发语言·jvm
机智的人猿泰山9 分钟前
spring boot 运行测试类时:Error creating bean with name ‘serverEndpointExporter‘ 问题
java·spring boot·后端
爬山算法11 分钟前
Hibernate(3)Hibernate的优点是什么?
java·后端·hibernate
QQ_43766431412 分钟前
C++11并发编程
开发语言·c++
leiming625 分钟前
c++ 容器 queue
开发语言·c++
计算机程序设计小李同学28 分钟前
基于 Flask 的养猪场信息模拟系统
后端·python·flask
CSDN_RTKLIB29 分钟前
【类定义系列三】内联函数进阶
开发语言·c++
牛魔王_132 分钟前
ASP.NET 超时机制分析
后端·http·asp.net·超时·代码
踏浪无痕33 分钟前
JobFlow:固定分片如何解决分布式扫描的边界抖动
后端·面试·架构
北京流年42 分钟前
执行clang --version报错说由于找不到 libgcc_s_seh-1.dll和 找不到 libstdc++-6.dll 这两个文件
开发语言·c++