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

php的使用及storm环境部署

php语法

  1. 环境搭建:在小皮中新建网站,注意先填写域名再点击选择根目录。

  2. 成功创建网站后,打开发现forbidden,因为新建的网站里是空的,需要新建index.php文件----> 在Phpstorm中左上角打开文件,打开那个文件所在的文件夹---->新建一个php文件 叫index.php.这时候已经可以在小皮中打开面板了,但是在storm中无法打开------>在storm中 文件->设置->部署中新建 填写url地址是1中新建网站的域名 (也就是点击修改,出现的域名,直接复制粘贴过去即可)

$value的使用;

定义:相当于箱子,承载着你想让屏幕输出的东西;

格式$a=’ niubi;

注意最后一定要分号

1.value可以直接省略;

echo的使用(标题 $ 常量 类型值)

(echo相当于input,可以让网站显示你想让他显示的东西)

  1. 格式echo’ ';

  2. $value

    相当于箱子,承载你想要输出的句子,后续echo中可以直接使用**.**value。

  3. $value = '微博';
    echo $value;
    $value ='3';
    echo'int类型值为:'.$value;
    $value='true';
    echo'布尔类型值为:'.$value;
    $value =array('1','2','3','123','true');结果:   
    int类型值为:3
    布尔类型值为:true
    
    1. 常量的使用

      define(‘name’,‘web’);

      name就是一个盒子可以相当于$vlaue.

      echo'<h2>03.常量</h2>;
      define('name','flyboat');
      echo'name';结果:
      flyboat
      

var_dump的使用

(用于说明填入数据的类型)

var_dump(999);结果:int(999)
$value1 = '10';
$value2 = "10";
$value3 = "true";
if ($value1==$value2){echo'相等';
}else{echo'不相等';
}

则网页就会输出999的数据类型是int 还是bool

  1. **==**与c语言用法相同

  2. **===**判断两个变量的类型是否相等

    if语句的结构

    if( ){

    echo’ ';

    }else{

    ​ echo ';

    }

    (与c语言大差不差)

计算

$a='20';
$b='7';
$c='27';
echo'20+7='.$c;

**±*/%**如上述用法

拼接(.)

.

$a=20;
$b=1;
echo '$a.$b';

则输出的值为201

换行

echo’<>+br’;

ps:换行可以与拼接符号连用,直接在echo’ '中输入你想输出的内容后+.<>br

switch(与c语言用法差不多)

$a='5';
switch ($a){case 1:echo'哈哈';break;case 2:echo'jaja';break;defaultecho'未知';        
}
结果:未知

for循环

echo'<h1>php类型比较</h1>';
echo'<h1>for</h1>';
for($a=1;$a<10;$a++) {echo $a.'<br>';
}
结果:123456789

注意

要想让输出数字1,2,3而不是 a , a, a,a, a . < f o n t c o l o r = r e d > " 就不要给 a.<font color =red>"就不要给 a.<fontcolor=red>"就不要给a加引号

foreach循环

用一个表达式就可以直接将数组中全部的数字表达出来)

$arrayPeople=array('张三丰','李四没风','你是疯子');
foreach($arrayPeople as $value) {echo $value.'<br>';
}
结果:
张三丰
李四没风
你是疯子

注意:

$array后面+的英文可以自己定义.

数组的使用$

$arrayValue=array('张三丰','李四没风','你是疯子')echo'数组为'.$arrayValue;

以上为形式.(array和people的位置可以调换!!!!!!)

注意数组总是从0开始的!!!

$niumaarray2[0]="0";
$niumaarray2[1]="1";
$niumaarray2[2]="2";
$niumaarray2[3]="3";
echo'<br>数组中第一个元素为'.$niumaarray2[0];
echo'<br>数组中第一个元素为'.$niumaarray2[1];
echo'<br>数组中第一个元素为'.$niumaarray2[2];
echo'<br>数组中第一个元素为'.$niumaarray2[3];结果:
数组中第一个元素为0
数组中第一个元素为1
数组中第一个元素为2
数组中第一个元素为3

$arrayniuma=array可以理解为布置一个牛马为数组

print_r的使用

使用情景:一般想让数组直接以原格式输出时使用

格式:print_r();

关联数组(count)

(用于输出数组的长度)

$arrayValue=array('张三丰','李四没风','你是疯子');
echo'这个数组的长度是:'.count($arrayValue);结果:
这个数组的长度是:3

数组的排序$

整理:key是按键,value是值键。

     1. ksort是按键的生序;(关联数组)2. krsort是按键的降序;(关联数组)3. asort是按值的升序;按键会跟随值键移动(关联数组)4. arsort是按值的降序;按键会跟随值键移动(关联数组)5. sort是对数组进行升序排列(不是关联数组)6. rsort是对数组进行降序排列(不是关联数组)

​ 从小到大

a r r a y n i u m a = a r r a y ( ′ 9 ′ , ′ 3 ′ , ′ 2 ′ , ′ 8 ′ ) ; s o r t ( arrayniuma=array('9','3','2','8'); sort( arrayniuma=array(9,3,2,8);sort(arrayniuma);
print_r($arrayniuma);

结果:
Array ( [0] => 2 [1] => 3 [2] => 8 [3] => 9 )


ps :print_r也可以换成foreach循环。2. 倒叙(从大到小)```php
$arrayniuma=array('9','3','2','8');
rsort($arrayniuma);
foreach($arrayniuma as $value){echo $value.'<br>';
}结果:
9
8
3
2
  1. 关联数组的降序
$arrayhah=array(0=>10,1=>20,2=>5);
arsort($arrayhah);
foreach($arrayhah as $key=>$value){echo $key.':'.$value.'<br>';
}结果:
1:20
0:10
2:5

全局变量($GLOBALS)

注意:GLOBALS必须是大写!!!!

$x=1;$y=2;
function add(){$GLOBALS["z"]=$GLOBALS["x"]+$GLOBALS["y"];
}
add();//调用add()
echo $GLOBALS["z"].'<br>';输出:3

_$SERVER用法

定义:包含头信息,路径,脚本位置等各种信息的数组

注意必须全部大写!!!

echo $_SERVER['PHP_SELF'];
echo'<br>';
echo $_SERVER['HTTP_HOST'];
echo'<br>';输出:
/index.php
www.firstph

while循环和do while循环

(与c几乎差不多)

$a=6;
while($a<10) {echo'当前a的值是'.$a.'<br>';$a++;echo'<br>';
}
输出:
当前a的值是6当前a的值是7当前a的值是8当前a的值是9
$s=0;
do {echo '当前s的值为' . $s . '<br>';$s++;
}while($s<5);
输出:
当前s的值为0
当前s的值为1
当前s的值为2
当前s的值为3
当前s的值为4

冒泡排序(相临的数字比较,若不符合要求就交换,依次往后推)

函数的使用

function Getname($value){echo'你是神仙码?'.$value;}
Getname('我是你大爸');结果:
你是神仙码?我是你大爸

这是基础传参.

我自己说就是先提前定义一个函数也就是getname,后面()里是他想承载的东西,承载的东西是个车子,需要在echo中被.后面承接,在这最后再在()填入你想填的话

psssss:

function Getname3($value){return '返回的值真的是:'.$value;
}
Getname2('niubiaaaaaaaa');结果是:
传递的参数值是:niubiaaaaaaaa 

**return的使用:

function Getname4($value){return'接下来出场的是:'.$value;
}
$s = Getname4('wulaalallalalall');
echo$s;结果:接下来出场的是:wulaalallalalall

面向对象

相关文章:

php的使用及storm环境部署

php语法 环境搭建&#xff1a;在小皮中新建网站&#xff0c;注意先填写域名再点击选择根目录。 成功创建网站后&#xff0c;打开发现forbidden&#xff0c;因为新建的网站里是空的&#xff0c;需要新建index.php文件----> 在Phpstorm中左上角打开文件&#xff0c;打开那个文…...

高可用 Keepalived 服务部署流程

一、配置文件 vim /etc/keepalived/keepalived.confGLOBAL CONFIGURATION --- 全局配置部分VRRPD CONFIGURATION --- VRRP协议配置部分LVS CONFIGURATION --- LVS服务管理配置部分[rootlb01 ~]# cat /etc/keepalived/keepalived.…...

【新春特辑】2025年1月科技浪潮中的AI最新时事与科技趋势

2025年1月科技浪潮中的AI最新时事与科技趋势 一、AI科技时事 人工智能代理&#xff08;AI Agent&#xff09;的发展 最新进展&#xff1a;人工智能代理正逐步成为科技领域的新热点。这些代理能够自主执行特定任务&#xff0c;如管理日程、回复邮件等。然而&#xff0c;它们仍…...

解决Django非ORM模型提示初始化request问题

提问 Django在DRF时候自定义显示一些非model的字段提示TypeError: Field.__init__() got an unexpected keyword argument request 解答1 错误提示 TypeError: Field.__init__() got an unexpected keyword argument request 显示在创建序列化器实例时&#xff0c;传递了一个…...

G. XOUR

题目链接&#xff1a;Problem - G - Codeforces 题目大意&#xff1a;给你一个n长的序列&#xff0c; 其中你可以将a[i] XOR a[j] 的值 严格小于4的数对进行交换。 你可以操作任何几次&#xff0c; 让最后的数列最小。如果在 x 和 y 不同的第一个位置&#xff0c; xi<yi &…...

有没有个性化的UML图例

绿萝小绿萝 (53****338) 2012-05-10 11:55:45 各位大虾&#xff0c;有没有个性化的UML图例 绿萝小绿萝 (53****338) 2012-05-10 11:56:03 例如部署图或时序图的图例 潘加宇 (35***47) 2012-05-10 12:24:31 "个性化"指的是&#xff1f; 你的意思使用你自己的图标&…...

【RAG】SKLearnVectorStore 避免使用gpt4all会connection err

gpt4all 列表中包含了多个开源的大模型,如 Qwen2.5、Llama 3、DeepSeek、Mistral 等,但 不包含 OpenAI 的 GPT-4o。GPT-4o 是 OpenAI 提供的闭源模型,目前只能通过 OpenAI API 或 ChatGPT 官方应用(网页版、移动端)访问,并不支持本地运行,也没有 GGUF 量化格式的模型文件…...

vue框架技术相关概述以及前端框架整合

vue框架技术概述及前端框架整合 1 node.js 介绍&#xff1a;什么是node.js Node.js就是运行在服务端的JavaScript。 Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于Google的V8引擎。 作用 1 运行java需要安装JDK&#xff0c;而Node.js是JavaScript的运行环…...

Spring Boot + Facade Pattern : 通过统一接口简化多模块业务

文章目录 Pre概述在编程中&#xff0c;外观模式是如何工作的&#xff1f;外观设计模式 UML 类图外观类和子系统的关系优点案例外观模式在复杂业务中的应用实战运用1. 项目搭建与基础配置2. 构建子系统组件航班服务酒店服务旅游套餐服务 3. 创建外观类4. 在 Controller 中使用外…...

牛客周赛 Round 78

题目目录 A-时间表查询&#xff01;解题思路参考代码 B-一起做很甜的梦&#xff01;解题思路参考代码 C-翻之解题思路参考代码 D-乘之解题思路参考代码 E-在树上游玩解题思路参考代码 A-时间表查询&#xff01; \hspace{15pt} 今天是2025年1月25日&#xff0c;今年的六场牛客寒…...

【机器学习】自定义数据集 ,使用朴素贝叶斯对其进行分类

一、贝叶斯原理 贝叶斯算法是基于贝叶斯公式的&#xff0c;其公式为&#xff1a; 其中叫做先验概率&#xff0c;叫做条件概率&#xff0c;叫做观察概率&#xff0c;叫做后验概率&#xff0c;也是我们求解的结果&#xff0c;通过比较后验概率的大小&#xff0c;将后验概率最大的…...

02.01 生产者消费者

请使用条件变量实现2生产者2消费者模型&#xff0c;注意1个生产者在生产的时候&#xff0c;另外一个生产者不能生产。 1>程序代码 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h>…...

mac 手工安装OpenSSL 3.4.0

如果你希望继续安装 openssl-3.4.0 而不是降级到 3.1.1&#xff0c;可以尝试以下解决方案。根据你提供的错误信息&#xff0c;问题可能出在测试阶段&#xff08;make test&#xff09;&#xff0c;我们可以尝试跳过测试或修复测试失败的原因。 --- ### **解决方案&#xff1a…...

kamailio-ACC_JSON模块详解【后端语言go】

要确认 ACC_JSON 模块是否已经成功将计费信息推送到消息队列&#xff08;MQueue&#xff09;&#xff0c;以及如何从队列中取值&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 确认 ACC_JSON 已推送到队列 1.1 配置 ACC_JSON 确保 ACC_JSON 模块已正确配置并启用。以下…...

ArkTS语言介绍

文章目录 一、基本知识声明类型运算符语句函数函数声明可选参数Rest参数返回类型函数的作用域函数调用函数类型箭头函数(又名Lambda函数)闭包函数重载类字段方法构造函数可见性修饰符对象字面量抽象类接口接口属性接口继承抽象类和接口泛型类型和函数泛型类和接口泛型约束泛型…...

海外问卷调查之渠道查,企业经营的指南针

海外问卷调查&#xff0c;是企业调研最常用到的方法&#xff0c;有目的、有计划、有系统地收集研究对象的现实状况或历史状况的一种有效手段&#xff0c;是指导企业经营的有效手段。 海外问卷调查充分运用历史法、观察法等方法&#xff0c;同时使用谈话、问卷、个案研究、测试…...

spring和Mybatis的逆向工程

在现代企业级开发中&#xff0c;使用Spring和MyBatis进行快速、高效的数据库操作是非常常见的。本文将深入探讨如何使用Spring和MyBatis进行逆向工程&#xff0c;帮助开发者自动生成数据库相关的代码&#xff0c;提高开发效率和代码质量。 一、什么是逆向工程 逆向工程是指从…...

【Android】问deepseek存储访问

这些天deepseek爆火&#xff0c;我们来问问android问题看看&#xff0c;如果问android中的应用怎么访问外部存储&#xff0c;回答的很清楚&#xff0c;但是如果问的深入一些&#xff0c;比如Android中是怎么控制让应用不能读取其他应用的外部存储文件的&#xff0c;回答的比较抽…...

Android记事本App设计开发项目实战教程2025最新版Android Studio

平时上课录了个视频&#xff0c;从新建工程到打包Apk&#xff0c;从头做到尾&#xff0c;没有遗漏任何实现细节&#xff0c;欢迎学过Android基础的同学参加&#xff0c;如果你做过其他终端软件开发&#xff0c;也可以学习&#xff0c;快速上手Android基础开发。 Android记事本课…...

python学习——函数的返回值

在 Python 中&#xff0c;函数的返回值决定了调用该函数后得到的结果。默认情况下&#xff0c;如果函数没有使用 return 语句或没有明确返回一个值&#xff0c;函数将返回 None。为了实现更复杂的逻辑&#xff0c;可以通过 return 语句返回多个值、错误信息或其他数据类型。 返…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

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

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

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...