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
相关推荐
smileNicky8 分钟前
SpringBoot系列之从繁琐配置到一键启动之旅
java·spring boot·后端
WYH28729 分钟前
C#控制台输入(Read()、ReadKey()和ReadLine())
开发语言·c#
祈祷苍天赐我java之术32 分钟前
Java 迭代器(Iterator)详解
java·开发语言
秋氘渔1 小时前
综合案例:Python 函数知识整合 — 学生成绩管理系统
开发语言·python
David爱编程1 小时前
为什么必须学并发编程?一文带你看懂从单线程到多线程的演进史
java·后端
我命由我123451 小时前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
long3161 小时前
java 策略模式 demo
java·开发语言·后端·spring·设计模式
AI 嗯啦2 小时前
SQL详细语法教程(三)mysql的函数知识
android·开发语言·数据库·python·sql·mysql
rannn_1112 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
柏油2 小时前
Spring @Cacheable 解读
redis·后端·spring