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

php语言基础入门

文章目录

  • php语言基础入门
    • 一、简介
    • 二、基础语法
      • 1、变量
      • 2、常量
      • 3、注释
      • 4、基础数据类型
        • 4.1、整形数据类型
        • 4.2、布尔数据类型
        • 4.3、字符串数据类型
        • 4.4、浮点型数据类型
        • 4.5、PHP数据类型之查看和判断数据类型
      • 5、流程控制
        • 5.1、if-elseif-else语句使用
        • 5.2、switch语句使用
        • 5.3、while循环语句说明
        • 5.4、do-while循环
        • 5.5、for循环语句
        • 5.6、goto循环语句

php语言基础入门

一、简介

外文名PHP:Hypertext Preprocessor,中文名:“超文本预处理器”是一种通用开源脚本语言。语法吸收了C语言、java和Perl的特点,利于学习,使用广泛,主要适用于web开发领域。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

二、基础语法

1、变量

示例

<?php
$iphone7 = 5880;
$iphone7plus = 6088;
echo $iphone6 + $iphone7plus;  //echo是在PHP里面最常用的一个输出、显示功能的命令
?>

特点:

  1. 变量名以$开头
  2. 变量的首字母不能以数字开始
  3. 变量的名字区分大小写
  4. 变量不要用特殊符号、中文,_不算特殊符号
  5. 变量命名要有意义(别写xxx,aaa,ccc)这种变量名

2、常量

define(常量名, 常量值)

特点:

1、常量名可以小写,但是通常大写
2、常量名可以不加引号,但是通常加上引号
3、在字符串中调用常量的时候,必须在引号外面
4、常量名建议只用字母和下划线

3、注释

//		表示单行注释
#		表示单行注释,用的比较少
/*
多行注释,这里是注释区域代码
*/

4、基础数据类型

4.1、整形数据类型

整形表示即为整数,英文称之为integer,英文简写为int;整形分为8进制、10进制、16进制,整形在计算机里面是有最大值和最小值范围的。大家经常听说32位计算机,也就是32位计算机一次运算处理的最大范围是-2的32次方到2的32次方-1;而64位计算机,就是一次运算处理的最大范围是-2的64次方到2的64次方-1。

4.2、布尔数据类型

所谓布尔类型,汉语翻译过来之后,更好的解释是用道家中易经的语言进行解释,即为:阴/阳,男/女,真/假,对/错,存在/不存在,0/1等等。

<?php
//声明一个变量(拼音)为布尔
$buer=true;
//声明一个变量(英文)
$bool=false;
?>
4.3、字符串数据类型

在PHP语言中声明字符串有三种方式:
1、用单引号声明
2、用双引号声明
3、用字界符声明

单引号声明

用英文半角的单引号,将字符串包起来:

<?php
//声明字符串变量$zifu
$zifu='好好学习吧';
echo $zifu;
?>

双引号声明

在字符串两面加双引号

<?php
//声明字符串变量$str
$str="我想好好学习";
echo $str;
?>

字界符声明

1、在变量后面的等号写三个小于号 <<<
2、然后在<<<后面写上字符(建议英文大写字符)
3、然后换行写上任意想写的字符
4、写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。

<?php
$dingjie = <<<ABC如果非要在这个测试前面<br />加上一段<i>有趣的话</i>我想说,<h1>努力学习不好么<h1>
ABC;
echo $dingjie
?>

双引号和单引号有什么区别

双引号解析变量,但是单引号不解析变量
在双引号里面插入变量,变量后面如果有英文或中文字符,会把这个字符和变量拼起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。
如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
双引号解析转义字符,单引号不解析转义字符。但是单引号能解析
单引号效率高于双引号,尽可能使用单引号
双引号和单引号可以互相嵌套,双引号中可以插入单引号,单引号当中插入变量,这个变量会被解析。
神奇的字符串拼接胶水——(.)点,用来拼接字符串。
一般将定界符声明字符串视为双引号一样的功能来看待。

4.4、浮点型数据类型

所谓浮点类型,可以理解为,我们数学里面的小数。声明方式分为两种:
1、普通声明方式
2、科学声明方式

普通声明浮点数:

<?php
//声明变量fudian的植为12121.3232
$fudian=12121.3232;
echo $fudian;
?>

科学声明浮点数:

<?php
//声明变量$f1的植为0.8873
$f1=0.8873;
var_dump($f1)
?>

var_dump() 函数用于输出变量的相关信息。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
参考资料:https://www.runoob.com/php/php-var_dump-function.html

4.5、PHP数据类型之查看和判断数据类型

查看数据类型:
1、gettype(传入一个变量)能获得变量的类型
2、var_dump(传入一个变量)输出变量类型和值

<?php
//声明一个变量88.8,可以自己多做几次实现换成其他类型看看$type输出是多少。
$float = 88.8;
$type = gettype($float);
echo $type;
?><?php
//多换几个类型试试
$str = '你喜欢男人还是喜欢女人';
$type = var_dump($str);
echo $type;
?>

5、流程控制

5.1、if-elseif-else语句使用

比如:郝斌同学是无趣的人。他回家时候做的事如下所示:
如果半夜回家,先去睡觉
如果早上回家,先去洗澡
如果中午回家,先去吃法
如果晚上回家,先去烧水
下面来了解下他的活动安排PHP语法规则:

<?php
If(判断语句1){执行语句体1
}elseif(判断语句2{执行语句体2
} elseif(判断语句n){执行语句体n
}else{最后的else语句可选
}
?>
5.2、switch语句使用

比如:王同学家里特别有钱,所以他的行程方式和正常人的有些不一样.
他的出行方式有以下6种方式:
司机开车/民航/自己家的专机/火车动车/骑马/游轮
switch…case的语法结构如下:

<?php
switch(变量){    //字符串,整形case 具体值1:执行代码1;break;case 具体值2:执行代码2;break;case 具体值3:执行代码3;break;defult:
}
?>
5.3、while循环语句说明

比如:王总需要反复往返于北京和大连,就是典型的循环结构.假设王总投资这个项目需要往返大连100次,每次访问都会计数一次.难道写一百遍同样的代码?显然对于智商极高的程序员来说不可能这样处理。

<?php
//定义需要往返的次数,老外喜欢从0开始计数,所以系统也是从0开始
$count=0;
//while后面接布尔值判断,为真执行,为假停止
//$count小于100的时候执行,也就是$count为0至99的时候执行.
//如果$count不小于100了,循环停止执行后续的代码//循环开始处
while($count < 100){echo "这是王总第 $count 次出差 <br />";//每次执行让$count+1,这样的话,就不会产生$count永远小于100的情况了$count++;
}
//循环结束
?>
5.4、do-while循环
<?php
$i=0;
do {echo $i;
}while($i >0);
?>

对比说明do…while与while区别

  1. do…while与while区别是,它们的值得检查时机不同.
  2. do…while不论while判断是否成立,先执行一次代码框循环语句,保证会执行一次(表达式的真值在每次循环结束后检查)
    然而我们之前的while循环会检查布尔判断区域,成立则执行,不成立则不执行.
5.5、for循环语句
for(表达式1;表达式2;表达式3)需要执行的代码段;
}

1、表达式1是初始化赋值,可以同时赋值多个代码;
2、表示式2在每次循环开始前求值,如果值为true,则继续循环,执行嵌套的循环语句,如果值为false,则终止循环.
3、表达式3在每次循环之后被求值.

5.6、goto循环语句

王同学每周往返,但有一个特例:项目失败后或者集团临时通知除外,就可以不再这么每周往返了.

<?php
goto wan;
echo '天王盖地虎';
wan:
echo '小鸡炖蘑菇';
?>
<?php
for ($i=0;$i<100;$i++){echo '第'.$i.'每周往返北京大连<br />';if($i == 17){goto end;}
}
end:
echo '集团公司要求停止此项';
?>

相关文章:

php语言基础入门

文章目录 php语言基础入门一、简介二、基础语法1、变量2、常量3、注释4、基础数据类型4.1、整形数据类型4.2、布尔数据类型4.3、字符串数据类型4.4、浮点型数据类型4.5、PHP数据类型之查看和判断数据类型 5、流程控制5.1、if-elseif-else语句使用5.2、switch语句使用5.3、while…...

告别杂音,从 AI 音频降噪开始

生活中&#xff0c;音频无处不在。无论是聆听动人的音乐&#xff0c;还是参与重要的电话会议&#xff0c;又或是沉浸于精彩的网课学习&#xff0c;清晰、纯净的音频质量都至关重要。然而&#xff0c;音频中的噪声却像不速之客&#xff0c;扰乱着这份美好。 音频中的噪声形式多样…...

Postman中params传参与Body传参区别以及Body中不同类型的区别

Postman中params传参与Body传参区别 在HTTP请求中&#xff0c;参数可以通过不同的方式传递给服务器&#xff0c;其中最常见的两种方式是使用params&#xff08;查询参数&#xff09;和body&#xff08;请求体&#xff09;。以下是它们的主要区别&#xff1a; 1. 位置&#xf…...

数据结构入门——05队列

1.队列 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先 进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾出队列&#xff1a;进行删除操作的一端称为队头 队列也可以数…...

使用python MySQL 实现一个 key-value(string:json) 读写库

在Python中,我们可以使用`pymysql`库(如果MySQL服务器版本较高,也推荐使用`mysql-connector-python`)来建立一个简单的key-value存储库,其中键是字符串,值是JSON格式的数据。这里我们创建一个基本的类来完成读写操作: import pymysql.cursors import jsonclass JsonKVS…...

实现:uniapp项目分享视频页面到微信,可以自定义分享的页面样式及内容

背景&#xff1a;最近在逐步完善一个uniapp项目的视频功能&#xff0c; 包括有视频录制及发布&#xff0c;在完善过程中想要实现分享 视频到微信的功能&#xff0c;也就是相当于分享链接到微信&#xff0c; 微信打开后可以获取到视频并可以观看&#xff0c;有了想法便 准备实行…...

【C++】—— 类与对象(五)

【C】—— 类与对象&#xff08;五&#xff09; 1、类型转换1.1、类型转换介绍1.2、类型转换的应用1.3、explicit 关键字 2、static 静态成员2.1、static 静态成员变量2.2、static 静态成员函数2.3、总结 3、友元3.1、友元函数3.2、友元类 4.内部类5、匿名对象6、对象拷贝时的编…...

scp命令的使用

在Windows和Linux之间传文件&#xff0c;最简单的是共享目录&#xff0c;如果不能使用共享目录&#xff0c;可以使用scp命令&#xff0c; 一般Windows和Linux都支持。 scp命令是secure copy的缩写&#xff0c;用于在Linux下进行远程文件拷贝&#xff0c;windows一般也有该命令…...

定位和解决线上接口性能优化或者数据库性能优化的思路是什么?

定位和解决线上接口性能优化或数据库性能优化问题是一项复杂且系统性的工作&#xff0c;需要综合运用监控、分析、调优等手段。以下是一个详细的思路&#xff0c;帮助您从定位问题到解决问题&#xff0c;确保系统的高效运行。 一、定位接口性能问题 1.1 监控和日志 1.1.1 监…...

修改docker的/var/lib/docker/overlay2储存路径

目录 目录 1.准备新的存储位置 1.创建新的存储目录 2.修改目录权限 2. 配置 Docker 使用新的存储位置 1.停止 Docker 服务 2.编辑 Docker 配置文件 3.迁移现有 Docker 数据 1.将现有的 Docker 数据从系统盘移动到新目录 2.启动 Docker 服务 3. 验证更改 4. 清理旧的…...

解决中国式报表难题,这款工具真的免费且好用

一、概述 报表&#xff0c;对于任何企业或组织来说都不陌生。它将复杂的数据信息以简洁明了的方式展现出来&#xff0c;帮助决策者快速理解数据背后的趋势和问题。无论是财务报表、销售报表&#xff0c;还是库存报表&#xff0c;都是日常工作中不可或缺的部分。然而&#xff0…...

图解Kafka | 彻底弄明白 Kafka 两个最重要的配置

我已经使用 Kafka 近两年了&#xff0c;我发现有两个配置很重要&#xff0c;但是不太容易理解。这两个配置分别是acks和min.insync.replicas。 本文将通过一些插图来帮助理解这2个配置&#xff0c;以便更好的使用Kafka为我们服务。 复制 我假设你已经熟悉 Kafka了 &#xff…...

创建线程的三种方式

创建线程的三种方式 1. Thread 匿名内部类 Slf4j public class CreateThread {public static void main(String[] args) {Thread t1 new Thread("t1") {Overridepublic void run() {log.info("hello world");}};t1.start();} }2.定义 Runable public s…...

官宣|Apache Flink 1.20 发布公告

作者&#xff1a;郭伟杰(阿里云), 范瑞(Shopee) Apache Flink PMC&#xff08;项目管理委员&#xff09;很高兴地宣布发布 Apache Flink 1.20.0。与往常一样&#xff0c;这是一个充实的版本&#xff0c;包含了广泛的改进和新功能。总共有 142 人为此版本做出了贡献&#xff0c;…...

HarmonyOS应用一之登录页面案例

目录&#xff1a; 1、代码示例2、代码分析3、注解分析 1、代码示例 实现效果&#xff1a; /** Copyright (c) 2023 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance w…...

KubeSphere 部署 Kafka 集群实战指南

本文档将详细阐述如何利用 Helm 这一强大的工具&#xff0c;快速而高效地在 K8s 集群上安装并配置一个 Kafka 集群。 实战服务器配置(架构 1:1 复刻小规模生产环境&#xff0c;配置略有不同) 主机名IPCPU内存系统盘数据盘用途ksp-registry192.168.9.904840200Harbor 镜像仓库…...

手把手教你安装音乐制作软件FL Studio 24.1.1.4285中文破解版

在当今数字化时代&#xff0c;音乐创作不再局限于传统的乐器和录音室&#xff0c;而是借助先进的音乐制作软件&#xff0c;如FL Studio&#xff0c;实现了前所未有的便捷与高效。FL Studio&#xff0c;以其强大的功能、直观的界面和丰富的插件资源&#xff0c;成为了众多音乐制…...

SDL 与 OpenGL 的关系

OpenGL 和 SDL 是两个不同的库&#xff0c;但它们可以配合使用来创建图形应用程序。 SDL&#xff08;Simple DirectMedia Layer&#xff09; SDL 是一个跨平台的多媒体库&#xff0c;用于处理图形、声音、输入和其他游戏开发所需的功能。它简化了窗口创建、事件处理和图形上下…...

考研数学 线性代数----行列式与矩阵

核心框架 前置知识 正式内容 知识点1:单位矩阵 知识点2:可逆矩阵 知识点3: |A|与可逆 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识点: 知识…...

Golang实现简单的HTTP服务,响应RESTful请求判断形状大小

题目要求&#xff1a; 题目 1.shape 接口有面积Area() float64和 周长Perimeter()fioat64 两个法。为Circle Rectangle实现shape 接口。 2.实现isGreater(shape1&#xff0c;shape2 shape)boo1 函数&#xff0c;用于比较两个形状的大小,并使用单元测试验证 3.实现http.Handle…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...