php 快速入门(一)

news2024/9/29 9:35:50

一、配置系统环境

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.coloradmin.cn/o/1541214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是 PDAF?它是如何工作的?相位检测自动对焦解释

常见问题解答 什么是相位对焦 PDAF 代表相位检测自动对焦。这是一种自动对焦方法,可以检测光线进入相机时的行进和交汇位置。在智能手机中,这是在传感器级别完成的。为了使物体聚焦,光线应该在同一点相遇。如果不这样做,系统将确定如何调整镜头以达到焦点。 PDAF 好用吗…

HTTP --- 下

目录 1. HTTP请求方式 1.1. HTML 表单 1.2. GET && POST方法 1.2.1. 用 GET 方法提交表单数据 1.2.2. 用 POST 方法提交表单数据 1.2.3. 总结 1.3. 其他方法 2. HTTP的状态码 2.1. 重定向 2.1.1. 临时重定向 && 永久重定向 2.1.2. 302 &&…

UE5 C++ 3D血条 响应人物受伤 案例

一.3Dwidget 1.创建C Userwidget的 MyHealthWidget&#xff0c;声明当前血量和最大血量 UCLASS() class PRACTICEC_API UMyHealthWidget : public UUserWidget {GENERATED_BODY() public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float C…

基于Springboot+Vue的在线考试系统!免费领取源码

今天给大家分享一套基于SpringbootVue的在线考试系统源码&#xff0c;在实际项目中可以直接复用。(免费提供&#xff0c;文末自取) 一、系统运行图 1、登陆页面 2、后台管理 3、全套环境资源 二、源码免费领取方式 关注本号&#xff0c;回复 考试 关注本号&#xff0c;回复…

【数据结构】快速排序(用递归)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解快速排序&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 基本思想二. 快速排序2.1 hoare版本2.2 挖坑法2.3 前后指针法2.4 快速排序优化三数取中法…

数据结构:堆和二叉树遍历

堆的特征 1.堆是一个完全二叉树 2.堆分为大堆和小堆。大堆&#xff1a;左右节点都小于根节点 小堆&#xff1a;左右节点都大于根节点 堆的应用&#xff1a;堆排序&#xff0c;topk问题 堆排序 堆排序的思路&#xff1a; 1.升序排序&#xff0c;建小堆。堆顶就是这个堆最小…

设计模式-访问者(Visitor)模式详解和应用

文章目录 前言访问者模式介绍结构包含的角色应用场景代码示例访问者模式的扩展访问者模式优缺点总结 前言 最近在做一个根据数学表达式生成java执行代码的功能&#xff0c;其中用到了访问者模式。使我对访问者模式有了更深入的理解。故写下此篇文章分享出来&#xff0c;不足之…

ios逆向某易新闻 md5+aes

本期的案例比较简单&#xff0c;也许是ios逆向算法本来就比较简单的原因&#xff0c;所以前面我就多扯一些爬虫和逆向的东西。之前写的文章都是js逆向和android逆向的案例&#xff0c;这也是首篇ios的案例&#xff0c;所以会从入门开始讲起。 3大逆向对比 首先爬虫工程师大部…

Objective-C—Class底层结构探索,真心分享给你!!!

isa 走位图 在讲 OC->Class 底层类结构之前&#xff0c;先看下下面这张图&#xff1a; 通过isa走位图 得出的结论是&#xff1a; 1&#xff0c;类&#xff0c;父类&#xff0c;元类都包含了 isa, superclass 2&#xff0c;对象isa指向类对象&#xff0c;类对象的isa指向了元…

C语言操作符和数据类型的存储详解

CSDN成就一亿技术人 目录​​​​​​​ 一.操作符 一.算数操作符&#xff1a; 二.位移操作符&#xff1a; 三.位操作符&#xff1a; 四.赋值操作符&#xff1a; 五.单目操作符&#xff1a; 六.关系操作符&#xff1a; 七.逻辑操作符&#xff1a; 八.条件操作符&…

Java学习笔记 | JavaSE基础语法05 | 方法

文章目录 0.前言1. 方法概述2. 方法的定义和调用2.1 无参数方法定义和调用2.2 带参数方法定义和调用1 带参数方法定义和调用2 形参和实参3 带参数方法练习 2.3 带返回值方法的定义和调用1 带返回值方法定义和调用2 带返回值方法练习13 带返回值方法练习24 带返回值方法练习3 3.…

V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆

未来&#xff0c;VR元宇宙平台可能会呈现出以下发展趋势和可能性&#xff1a; 全面融合现实与虚拟世界&#xff1a; VR元宇宙平台将更加无缝地融合现实世界和虚拟世界&#xff0c;用户可以在虚拟环境中进行各种活动&#xff0c;与现实世界进行互动&#xff0c;并且体验到更加逼…

C程序编译、链接与项目构建

C程序编译、链接与项目构建 摘要C编译环境静、动态库介绍gcc与g和程序编译、链接Visual Studio创建和链接库动态库的显示调用 Make介绍安装使用 CMake介绍安装使用构建方式内部构建外部构建构建使用静/动态库常用[系统]变量常用指令CMake模块 Make与CMake的联系与区别 摘要 本…

代码随想录|Day26|贪心01|455.分发饼干、376.摆动序列、53.最大子数组和

455.分发饼干 大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子。 局部最优&#xff1a;尽量确保每块饼干被充分利用 全局最优&#xff1a;手上的饼干可以满足尽可能多的孩子 思路&#xff1a;大饼干 尽量分给 大胃口孩子 将小孩和饼干数组排序&#xff0c;我们从大到…

40+重量级DFLab合成模型含各种神丹底丹万能模型合集分享

之前玩DFL软件积累下来的资源&#xff0c;部分模型非常稀缺&#xff0c;之前买的都很贵&#xff0c;现在不玩了&#xff0c;分享给有缘人&#xff0c;懂货的自然懂。必须懂得怎么用再下载&#xff0c;否则对你没有任何价值。点击下载 所见即所得。其中包含几个重量级稀缺资源&…

新款理想L7一边增配一边减配,难怪大家都去买华为问界

文 | AUTO芯球 作者 | 雷歌 我真是要被理想汽车笑死了&#xff0c;真不愧是“定语榜单之王”。 几年前理想汽车搞了一个“中国市场新势力品牌销量周榜” 两个定语&#xff0c;将比亚迪&#xff0c;特斯拉排除在外&#xff0c;自己在自己打造的榜单里做了一年多的冠军宝座。…

试题E(求阶乘)

解题思路&#xff1a; 写不出来&#xff0c;看的题解。要想凑个10&#xff0c;就必须要有一个2和5&#xff0c;但是明显在一个阶乘里&#xff0c;因子为2的数量一定多余5的数量&#xff0c;所以计算5的数量。 解题代码&#xff1a; import java.util.Scanner; ​ public clas…

RabbitMQ 01

01.定义 02.功能

何为布控球?布控球的分类对比

主要的分类有&#xff1a; 根据内部的主控板卡的系统分类&#xff0c;典型的是基于海思芯片的嵌入式LINUX系统的&#xff0c;一般出国标GB28181&#xff0c;另外一种是剑走偏锋的安卓系统的&#xff0c;需要把球机的输出YUV转换为UVC接入安卓主板&#xff0c;作为外接USB摄像头…

Matplotlib数据可视化实战-2绘制折线图(1)

函数plot是matplotlib.pyplot模块中的一个重要函数&#xff0c;用于在图形中绘制折线图。其基本用法是plot(x, y, [fmt], **kwargs)&#xff0c;其中x和y分别代表X轴和Y轴上的数据点&#xff0c;通常是以列表、数组或一维序列的形式给出。通常用的参数有&#xff1a; 基本参数…