php 快速入门(一)

一、配置系统环境

1.1 安装软件

1、安装php的开发软件:phpstorm

在这个软件中写代码

2、安装php的运行软件:phpstduy

写好的php程序需要放到phpstduy中,用户才能访问和测试
安装过程注意事项:安装的路径中不能有空格和中文字符,否则会导致安装后无法正常使用。

软件链接:https://pan.baidu.com/s/1VVN6W4Zh7Y4Hynxe6Veckw?pwd=auxw 
提取码:auxw

1.2 关联phpstorm和phpstduy

1.2.1 phpstduy的基本使用

这个软件的作用就是用于发布网站

1.2.2 发布网站需要的组件

中间件程序:

中间件是发布网站的最基本的程序,必须要有

通过中间件发布的仅仅是静态网站
常见的中间件程序:apache、nginx、iis、tomcat、tengine、weblogic

后台程序:

后台程序主要就是用于执行和处理各种数据,例如将用户在前台静态网页中写入的账号密码保存到磁盘的文件中

后天程序通常是用于发布动态网站

后台程序:php、java、python、go、c#、c++

数据库:

数据库软件,常见的有:MySQL、Oracle、SqlServer、mariaadb、db2

动态网站可以和数据库交互、也就是说php、java、python、go、c#、c++、这几种程序才能操作数据库

静态网站不可以和数据库交互,也就是说html、css、js不能操作数据库

1.2.3 网站的类别

静态:仅仅用于展示数据,不能执行程序【主要是在服务端】

  • 图片、视频、html、css、js【主要是在客户端浏览器执行】

动态:主要是用于执行各种数据处理程序

  • php、python、go、c、c++、shell

1、如果发布一个只有html的网站需要的组件

        中间件

2、如果发布一个有html + js的网站需要的组件

        中间件

3、如果发布一个有html + js + css的网站需要的组件

        中间件

关联两个软件

只需要保证php的开发目录和php的网站根目录保持一致就可以了

第一步:先去phpstduy创建一个网站

第二步:去phpstorm中创建一个项目

二、php 基础语法

2.1 php简介

php脚本语言

动态语言

php可以接受前端的html传入的数据,也可以和后面数据库进行交互

2.2 php定界符

格式1:推荐格式,兼容性最好

        <?php         ?>


格式2: <?         ?>

        使用这种格式,必须修改配置文件php.ini

                asp_tags=on

格式3:<script language=php>         </script>

2.3 变量和常量

 定义常量的方法

$变量名 = 变量的值

定义变量的注意事项

1. 变量名只能有数字、字母、下划线

2. 变量只能以字母或者下划线为开头

3. 变量名最好要做到见名知意

4.大小驼峰式命名

案例:

<?php$name = "tom";$age = 18;echo "name is $name <br>";echo "age is $age"
?>

常量定义:不会发生变化量

格式:define(常量名,常量值)

例如:define('pi','3.14',true) #不区分大小写。

2.4 行结尾符号

每行都是以 ; 为结尾

2.5 注释内容

注释掉的内容,在程序执行过程中,不会被执行

php注释的三种方法

#         单行注释

//         单行注释

/* */      多行注释

2.6 数据类型

字符串类型

' '  引号中的内容会进行原样输出

" " 引号中的内容会进行变量替换然后输出

2.7 数组

作用:可以保存多个数据

定义数据1:基于数字进行索引

array(值1,值2...)

引用数组中的值

基于索引来获取的

索引的值是从0开始的

定义数组2:基于关键字进行索引

array(key1=>值1,key2=>值2...)

案例1:

<?php$userList = array("tom","jerry","alex","bob","jack");echo "第一个人是 $userList[0]<br>";echo "第二个人是 $userList[1]<br>";echo "第三个人是 $userList[2]<br>";echo "第四个人是 $userList[3]<br>";echo "第五个人是 $userList[4]";
?>

案例2:

<?php$userInfo1 = array("name"=>"tom","age"=>18,"tel"=>"15638999000","addr"=>"beijingtiananmen");echo $userInfo1["age"];
?>

直接输出数组中的全部的元素:print_r(数组)

<?php$userInfo1 = array("name=>"tom","age"=>18,"tel"=>"15633690000","addr"=>"beijing");print_r($userInfo1);
?>

多维数组

<?php$tomInfo = array("tom",18,"beijing","15633690000");$jerryInfo = array("jerry",13,"tianjin","18811199900");$userInfo1 = array($tomInfo,$jerryInfo);echo $userInfo1[1][2]    #结果输出tianjin

数组相关的函数

  • print_r(数组):打印整个数组
  • count(数字):统计数组中有几个元素
<?php $tomInfo = array("tom",19,"beijing","15638382982");$nums = count($tomInfo);echo $nums;
?>

逐一输出数组中的每个用户名

第一种写法

<?php# 定义一个数组,在数组中保存若干个用户名$userList = array("tom","jerry","alex","bo");# 用count方法去统计数组中有几个元素,然后将元素个数赋值给变量nums$nums =count($userList);   # 4$start=1;#开始循环for($i=0;$i<$nums;$i++){echo "第${start}个用户是 $userList[$i] <br>";$start+=1;}
?>

第二种写法

foreach(数组 as 变量名):将数组元素逐一赋值给变量,每赋值一次,下面的循环体执行一次

<?php# 定义一个数组,在数据中保存若干个用户名$userList = array("tom","jerry","alex","bob");$start = 1;foreach($userList as $item){echo "第${start}个用户是:$item<br>";$start+=1;}
?>

2.8 浮点数

$a = 3.14

2.9 null

如果变量没有被定义,那么就是空类型

2.10 判断数据类型

作用:用于输出变量的相关信息,包括变量的类型和值

var_dump(变量)

<?php$num1=true;$num2="3.14";$num3=3.14;$num4=314;$s = var_dump($num1);$s = var_dump($num2);$s = var_dump($num3);$s = var_dump($num4);$s = var_dump($num5);
?>

2.11 判断是否是某一种数据类型

is_int()        判断变量是否为整数类型
is_bool()       判断变量是否是布尔类型
is_array()      判断变量是否为数组类型
is_string()     判断变量是否为字符串类型

案例:

<?php$num2=112;$res = is_int($num2);if($res){echo "aaa";}    else{echo "bbb"}
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/285530.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大东方保险集团陈志远:洞察保险行业的重要性及未来三年发展前景

在当今社会,保险行业作为风险管理的重要工具,正日益凸显其不可或缺的地位。大东方保险集团陈志远近日在接受采访时,深入探讨了保险行业的重要性以及未来三年的发展前景。 一、保险行业的重要性 陈志远指出,保险行业在现代经济中扮演着举足轻重的角色。它不仅是社会稳定的“减震…

LeetCode 1027——最长等差数列

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 假设我们以 f[d][nums[i]]表示以 nums[i] 为结尾元素间距为 d 的等差数列的最大长度&#xff0c;那么&#xff0c;如果 nums[i]-d 也存在于 nums 数组中&#xff0c;则有&#xff1a; f [ d ] [ n u m s [ i ] ] …

NSS [SWPUCTF 2022 新生赛]Power!

NSS [SWPUCTF 2022 新生赛]Power! 开题。 随便传一个111&#xff0c;后端进行了一个文件包含操作。 输入index.php&#xff0c;回显了一个不可显示图片。 有点小蒙蔽的&#xff0c;一般这种情况就源码&#xff0c;抓包&#xff0c;扫描。源码里面果然有货。 base解码后是index…

了解Spring:Java开发的利器

Spring是一款开源的轻量级Java开发框架&#xff0c;旨在提高开发人员的效率和系统的可维护性。本文将介绍Spring的基本概念、使用优势、设计模式以及与Spring MVC和Spring Boot的关联。 什么是Spring&#xff1f; Spring是一款开源的轻量级Java开发框架&#xff0c;它由多个模…

JAVA----进程

进程(process) 目录 进程(process)1. 进程--即一个**跑起来**的运用程序2. 进程 可视为是操作系统进行资源分配的基本单位3. 在操作系统中,通常使用称为 PCB 这样的结构体来描述进程的.4. PCB5. 文件描述符(重点)6. 进程调度(关键重点)1. PCB 提供了几个属性,支持 进程调度1. 状…

2024常用接口抓包以及接口测试工具总结【建议收藏】

接口 统称为API&#xff0c;程序与程序之间的对接、交接。 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点&#xff0c;主要是为了检验不同组件&#xff08;模块&#xff09;之间数据的传递是否正确&#xff0c;同时接口测试还要测试当前系统与第三方…

SQLiteC/C++接口详细介绍sqlite3_stmt类(七)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;六&#xff09; 下一篇&#xff1a; 无 22、sqlite3_column_database_name 用于返回结果集中指定列的数据库名称。如果结果集是由多个Join操作产生的&#xff0c;…

LabVIEW电动汽车直流充电桩监控系统

LabVIEW电动汽车直流充电桩监控系统 随着电动汽车的普及&#xff0c;充电桩的安全运行成为重要议题。通过集成传感器监测、单片机技术与LabVIEW开发平台&#xff0c;设计了一套电动汽车直流充电桩监控系统&#xff0c;能实时监测充电桩的温度、电压和电流&#xff0c;并进行数…

Tether CEO力挺波场TRON,直言其在一定程度实现了惠普金融

近期,加密媒体Bankless对Tether CEO Paolo Ardoino进行了深度专访。在专访中,Tether CEO Paolo Ardoino详细且深入地向听众们介绍了USDT,并对波场TRON的成就给予了高度认可。他更是直接表示,“我们不应该讨厌波场TRON,更应该换位思考站在其他人的角度考虑,尤其是那些无法负担起…

C++实现FFmpeg音视频实时拉流并播放

1.准备工作: 下载rtsp流媒体服务器rtsp-simple-server,安装go开发环境并编译 编译好后启动流媒体服务器 准备一个要推流的mp4视频文件,如db.mp4 使用ffmpeg开始推流 推流命令: ffmpeg -re -stream_loop -1 -i db.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://192.168.16…

【网络安全】这份近 200 页应急响应文档,帮助了不少安全逆子

前言 成为伟大黑客的关键在于做自己喜爱的事&#xff0c;要把一件事情做好&#xff0c;你必须热爱它。所以只要你能坚持对安全技术的热爱&#xff0c;到了这种程度&#xff0c;你就会做得更好。 本文档注重理论与实战结合&#xff0c;不仅提供关键源代码供读者快速实践&#x…

2.1 Windows安装Python

Windows安装Python&#xff08;图解&#xff09; 在 Windows 上安装 Python和安装普通软件一样简单&#xff0c;下载安装包以后猛击“下一步”即可。 Python 安装包下载地址&#xff1a;https://www.python.org/downloads/ 打开该链接&#xff0c;可以看到有两个版本的 Pyth…

AD20如何整体修改元器件标号?

1 2这里可以设置元器件标号方向 3更新 4点击前两个选项&#xff08;生成&#xff0c;执行&#xff09;即可

蓝桥杯刷题-串的处理

串的处理 代码 s input().split() l_new [] for i in s:i list(i)new""for j in range(len(i)-1): # 遍历newi[j]if i[j].isdigit() and i[j1].isalpha(): # 在字母和数字之间添加“_”new_if i[j].isalpha() and i[j1].isdigit(): # 同上new_newi[-1]l_new.appe…

用这几个工具搭建内容管理平台,企业工作效率翻倍!

在当今这个信息爆炸的数字时代&#xff0c;良好的内容管理变得尤为重要。无论你是一个大型企业&#xff0c;还是一个小型创业公司&#xff0c;一个高效的内容管理系统&#xff08;CMS&#xff09;都能够帮助你有条理地规划、创建、发布和优化你的内容。如果你正在寻找一款出色的…

@arco.design radioGroup 组件手写 beforeChange 方法

官方是没有提供 beforeChange 事件的&#xff0c;只能自己写一个 子组件&#xff08;CustomRadioGroup&#xff09; <template><a-radio-group :model-value"modelValue" change"onRadioChange"><a-radio v-for"item in list" …

第13篇:4线-2线优先编码器

Q&#xff1a;上一篇我们实现的4线-2线普通编码器在实际应用中会存在一个问题&#xff1a;如果中有2个或2个以上的取值同时为1&#xff0c;输出编码会出现混乱。本篇我们再来学习设计4线-2线优先编码器解决这个问题。 A&#xff1a;基本原理&#xff1a;规定操作先后顺序&…

Protocol Buffers设计要点

概述 一种开源跨平台的序列化结构化数据的协议。可用于存储数据或在网络上进行数据通信。它提供了用于描述数据结构的接口描述语言&#xff08;IDL&#xff09;&#xff0c;也提供了根据 IDL 产生代码的程序工具。Protocol Buffers的设计目标是简单和性能&#xff0c;所以与 XM…

路径问题总结

257二叉树的所有路径 257二叉树的所有路径 class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> ans new ArrayList<>();dfs(root,"",ans);return ans;}private void dfs(TreeNode root,String path,List<St…

计算机网络:物理层中的数字传输系统全景概览解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…