当前位置: 首页 > java >正文

php基础

文章目录

  • 基本语法
  • 基本数据类型:
  • 运算符
    • ?? 空合并
  • 定义变量
  • 字符串操作
  • 内置变量
    • \$_SESSION:会话信息
    • \$_GET:获取URL参数
  • 内置函数
    • 功能工具类的,utils
    • 网络通信类的
    • 会话管理类的

基本语法

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

基本数据类型:

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

整型
字符型
字符串型
浮点型
布尔类型:

运算符

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

?? 空合并

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

定义变量

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

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

字符串操作

连接:

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

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

网络通信类的

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

会话管理类的

session_start()
function die(int|string $status = 0): never
http://www.xdnf.cn/news/1396.html

相关文章:

  • 算法训练营第一天|704.二分查找、27.移除元素、977.有序数组的平方
  • 集结号海螺捕鱼组件搭建教程与源码结构详解(第四篇)
  • crictl 拉取镜像报错 Unimplemented desc = unknown service runtime.v1.ImageService
  • redis 使用 Docker 部署 简单的Redis 集群(包括哨兵机制)
  • 修电脑之电脑没有声音
  • 武装Burp Suite工具:xia SQL自动化测试_插件
  • date-picker组件的shortcuts为什么不能配置在vue的data的return中
  • 小红书文字配图平替工具
  • Vue3-原始值的响应式方案ref
  • 实时数仓体系概览与架构演进
  • python实战项目64:selenium采集软科中国大学排名数据
  • Django DRF实现用户数据权限控制
  • 服务器数据恢复—双循环RAID5数据恢复揭秘
  • 2025.04.23华为机考第二题-200分
  • 第七节:进阶特性高频题-Vue3的ref与reactive选择策略
  • 数据结构初阶:二叉树(四)
  • CSS3 基础(边框效果)
  • 从 Vue 到 React:React.memo + useCallback 组合技
  • PCB规则
  • 【android bluetooth 协议分析 11】【AVDTP详解 2】【avdtp 初始化阶段主要回调关系梳理】
  • 基于FPGA 和DSP 的高性能6U VPX 采集处理板
  • 深入解析C++ STL Queue:先进先出的数据结构
  • Android Gradle Plugin (AGP) 和 Gradle 的關係
  • 【Qwen2.5-VL 踩坑记录】本地 + 海外账号和国内账号的 API 调用区别(阿里云百炼平台)
  • 学习记录:DAY16
  • 2.RabbitMQ - 入门
  • 从入门到精通:CMakeLists.txt 完全指南
  • AI语音助手自定义角色百度大模型 【全新AI开发套件掌上AI+4w字教程+零基础上手】
  • 永磁同步电机控制算法-反馈线性化控制
  • 官方不存在tomcat10-maven-plugin插件