百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

另辟蹊径,跟紧操作,三天学会一门编程语言

wptr33 2025-03-03 20:32 20 浏览

对于任何一门编程语言来说,学习的教材都是厚厚的一本书,从接触到掌握需要一定的时间,介于此,我将自己掌握的编程知识汇集成几个关键节点,通过三天的学习就可以基本掌握一门编程语言核心,并且能自己编写,下面废话不多说,开始第一天的内容:

学习内容PHP(为什么是PHP,因为搭建环境简单,也最容易看到效果)

一.环境搭建

下载宝塔环境windows版:
https://download.bt.cn/win/panel/BtSoft.zip

(注:为什么是宝塔,对于初学者来说,简单易上手才是维持兴趣的关键)

解压缩安装:

我知道资深程序员都瞧不上宝塔面板,认为自己手动配置的环境才是最优的,但是对于初学者来说,简单易上手才是进一步学习的关键,现在环境搭建完成,用时大约30分钟,接下来正式进入编程的学习。

一.语法构成

  1. 运行条件:

所有语句将执行在此符号之内 ?>

所有代码结束均以 “ ; ” 符号结束

“//”符号是注释,实际不执行

  1. 常量——在PHP 中,常量是固定值,一旦被定义,就不能被修改或重新定义。常量通常用于存储那些不应该改变的值,比如配置选项、数学常数等。

方式一:

define("MY_CONSTANT", "这是一个常量的值");

方式二:

const ANOTHER_CONSTANT = "另一个常量的值";

使用echo打印输出结果检验代码成果,如下图所示

  1. 变量——PHP 变量名称必须以美元符号 ($) 开头,后跟字母或下划线,然后是字母、数字或下划线的任意组合。PHP 变量是动态的,这意味着它们可以在运行时更改其数据类型或值。

变量名推荐根据用途使用英语命名,方便记忆和管理,也方便他人查看,当然也可以自己随意命名,只要按照命名规则就行。

命名规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
$username = "乔丹";
$password = "123456";
echo "姓名:".$username."+密码:".$password;//代码中的.符号起到连接字符串和变量的作用
  1. 数据类型
  • 整型(Integer)?:用于表示整数,范围从-2^31到2^31。可以表示为十进制、八进制或十六进制。例如,$deci1 = 50; $octal1 = 07; $hex = 0x45;。
  • ?浮点型(Double 或 Float)?:用于表示带有小数的数字。例如,$val1 = 50.85; $val2 = 654.26;。
  • ?字符串(String)?:用于存储文本数据。例如,$name = "乔丹";。
  • ?布尔型(Boolean)?:只有两个值:true 和 false。例如,$x = true; $y = FALSE;。
  • ?空值(NULL)?:表示一个变量没有值。例如,$nullVar = NULL;。
  • ?数组(Array)?:用于存储多个值的有序集合。例如,$arr = array(1, 2, 3);。
  • ?对象(Object)?:用于存储复杂的数据结构。例如,class MyClass {} $obj = new MyClass();。
  • ?资源(Resource)?:用于存储对外部资源的引用。例如,数据库连接。例如,$db = new mysqli();。
  • PHP的数据类型在定义过程中不用申明数据类型,直接定义数据即可,数据类型了解即可,后续在实际案例中再加深练习使用方式。
  1. 函数

内置函数——预留函数,方便我们再编程过程中处理数据以及引入文件等。

  • ?文件相关函数?:用于文件操作,如include、require、include_once、require_once等?。
  • ?数值处理函数?:包括取绝对值(abs())、进一法取整(ceil())、舍去法取整(floor())等?。
  • ?字符处理函数?:如获取字符串长度(strlen())、截取字符串(substr())、替换字符串(str_replace())、查找字符串(strpos()和strrpos())等?。
  • ?数组处理函数?:如获取数组元素数量(count())、向数组添加元素(array_push())、从数组删除元素(array_pop())、合并数组(array_merge())等?。
  • ?时间信息函数?:用于日期时间操作,如格式化日期时间(date())、将日期时间字符串转换为时间戳(strtotime())、获取当前时间戳(time())等?。
  • 基础经常使用的即可,其他内置函数可去百度查询

举例:内置函数substr() (其他内置函数自行查询并实验效果,如有不了解的可以私信沟通,非常乐意解释)

$str = "Hello, World!";
$substring = substr($str, 0, 5); // 截取从索引位置0开始的5个字符,即 "Hello"
echo $substring;

自定义函数——内置函数不能满足自己需求的,可以自定函数进行数据处理

自定义函数的意义在于将重复使用的代码放在自定义函数中,每次需要使用时可以直接调用即可,可提升编写效率,下面代码就是一个简单加法的自定义函数:

function sum(int $a, int $b) {
return $a + $b;
}
$num1 = 5;
$num2 = 10;
$total = sum($num1, $num2);
echo "总和为: $total"; // 输出: 总和为:15
  1. 运算符

最简单的运算符——赋值运算符 “=”

篇幅前端代码中变量定义就用的赋值运算符,注意这个“=”符号和我们常用计算中的等于符号意义有所不同,意味着右侧赋值表达式会为左侧运算数设置值。

进阶运算符——算数运算符“+ ,-, *, /,%”

+

加法

$x + $y

$x 与 $y 求和

-

减法

$x - $y

$x 与 $y 的差数

*

乘法

$x * $y

$x 与 $y 的乘积

/

除法

$x / $y

$x 与 $y 的商数

%

模数

$x % $y

$x 除 $y 的余数

$x=10; $y=6; //定义两个数据类型位整数的变量
echo "加法:".($x + $y); // 输出 16
echo "减法:".($x - $y); // 输出 4
echo "乘法:".($x * $y); // 输出 60
echo "除法:".($x / $y); // 输出 1.6666666666667
echo "余数:".($x % $y); // 输出 4

进阶运算符——比较运算符

==

等于

$x == $y

如果 $x 等于 $y,则返回 true。

===

全等(完全相同)

$x === $y

如果 $x 等于 $y,且它们类型相同,则返回 true。

!=

不等于

$x != $y

如果 $x 不等于 $y,则返回 true。

<>

不等于

$x <> $y

如果 $x 不等于 $y,则返回 true。

!==

不全等(完全不同)

$x !== $y

如果 $x 不等于 $y,且它们类型不相同,则返回 true。

>

大于

$x > $y

如果 $x 大于 $y,则返回 true。

<

小于

$x < $y

如果 $x 小于 $y,则返回 true。

>=

大于或等于

$x >= $y

如果 $x 大于或者等于 $y,则返回 true.

<=

小于或等于

$x <= $y

如果 $x 小于或者等于 $y,则返回 true。

";
var_dump($x === $y);//判断两个变量是否相等(包括判断数据类型是否相等),如果相等输出true,否则输出false,数据类型不同,输出为false
echo "
"; var_dump($x != $y);//判断两个变量是否不相等,如果不相等输出true,否则输出false,不同的数据类型,内容一样,判断为相等,所以输出false echo "
"; var_dump($x !== $y);//判断两个变量是否不相等(包含判断数据类型是否相等),如果不相等输出true,否则输出false,两个变量数据类型不相等,所以输出true echo "
"; $a=50;$b=90; var_dump($a > $b);//判断$a是否大于$b,成立则输出true,否则输出false echo "
"; var_dump($a < $b);//判断$a是否小于$b,成立则输出true,否则输出false ?>

(代码中的var_dump()函数用于打印显示,一个变量的内容与结构,以及类型的信息;
则为html中换行代码)

进阶运算符——逻辑运算符

and

$x and $y

如果 $x 和 $y 都为 true,则返回 true。

or

$x or $y

如果 $x 和 $y 至少有一个为 true,则返回 true。

xor

异或

$x xor $y

如果 $x 和 $y 有且仅有一个为 true,则返回 true。

&&

$x && $y

如果 $x 和 $y 都为 true,则返回 true。

||

$x || $y

如果 $x 和 $y 至少有一个为 true,则返回 true。

!

!$x

如果 $x 不为 true,则返回 true。

(逻辑运算符仅作为了解,在第二天条件语句学习中,通过实践的方式掌握使用方法)

第一天的学习内容就是以上部分,大概需要2个小时可以完成,有兴趣的朋友可以根据上的步骤自行操作,加深印象,今天的知识点仅涉及到部分基础,比如内置函数,运算符中未说到的部分可以查询手册自行学习。

(注:本人仅作为编程爱好者向广大有兴趣学习编程的朋友分享自己的编程学习过程,此文通过三天的阐述介绍PHP的基础知识,这仅为基础,后续还将分享大量的实践编程文章及视频,包括完成的程序代码都将一一奉上,仅作为自己编程兴趣的总结与记录,与诸君共勉,如在学习过程有不解之处,欢迎私信联系,我将尽最大努力为你解决)

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China&#39;s top diplomat to chair third China-Pacific Island countries foreign ministers&#39; meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...