php学习笔记 安装XAMPP hbuilder配置

news2025/1/12 19:21:09

PHP7.0编程

基础配置

Download XAMPP (apachefriends.org)

下载XAMPP,修改端口如图

网站根目录的默认路径:xampp\htdocs。MySQL数据库默认路径:xampp\mysql\data。

XAMPP的默认密码如下。

●MySQL。User:root;Password:(空)。

●FileZilla FTP。User:newuser;Password:wampp。User:anonymous;Password:some@mail.net。

●Mercury。Postmaster:postmaster(postmaster@localhost)。Administrator:Admin(admin@localhost)。TestUser:newuser;Password:wampp。

●WEBDAV。User:wampp;Password:xampp。

并下载hbuilder,配置如图,安装php插件

 PHP程序编写基础

PHP语句与Perl和C一样,结构比较严谨,需要在每条语句后使用分号“;”来作为结束,而且对语句中的大小写敏感。
常用的PHP程序结构有如下3种。
方法一:PHP标准结构(推荐)。
 

<?php
echo "123";
?>

PHP输出所有参数可以用echo命令,echo实际上不是一个函数,而是一个语言结构,它不能总是使用一个函数的上下文。使用该命令时,不一定要使用小括号来指明参数,用单引号或双引号也可以。另外,如果想给echo命令传递多个参数,那么就不能使用小括号。

提示:也可以使用print()命令来实现,但echo比print()函数快一点。下面举例用PHP输出语句,包括HTML格式化标签,如图2-2所示。

'' ''双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。

' '单引号里面的字段不进行解释,直接输出。

因此,单引号比双引号执行得要快了。

2.1.3 PHP程序注释

PHP中可以使用多种风格的注释方式,如下所示。

/∗第1种PHP注释 适合用于多行∗/

//第2种PHP注释 适合用于单行

#第3种PHP注释 适合用于单行

2.2 动态输出字符

要实现相应的字符控制就需要调用相应的函数命令,在PHP编程中调用相应的函数还是比较简单的,如使用rand()函数来产生一个随机数字(范围是0~100)。

<?php
echo rand(0,100);
?>

2.2.2 截去字符串首尾使用

trim()函数可以返回字符串string首尾的空白字符去除后的字符串。语法:string trim(string str);

<?php
$x='    1 2   ';
echo $x;
echo '<br/>';
echo trim($x);
?>

2.2.3 格式化输出字符

nl2br()函数可以将换行字符转换成HTML换行的<br>指令。语法:string nl2br(string string);

2.2.4 打印格式化输出

PHP支持print()结构在实现echo功能的同时能返回值(True或False,是否成功),使用printf()可以实现更复杂的格式。

语法:int printf(string format,mixed[args]...);

返回值:整数

<?php
//将$num里的数值以字符串的形式输出
$num=12.1;
printf("数值为:%s",$num);
echo '<br/>';
//转换成为带有两位小数的浮点数
printf("数值为:%.2f",$num);
echo '<br/>';
//解释为整数并作为二进制数输出
printf("数值为:%b",$num);
echo '<br/>';
//打印%符号
printf("数值为:%%%s",$num);
?>

2.2.5 字母大小写转换

字母的大小写转换在PHP网页转换中经常用到,涉及的函数命令也有常用的几个,如

strtoupper()可以将字符串转换成大写字母,

将每个单词的第一个字母转换成大写可以使用ucwords(),

将字符串的第一个字母转换成大写可以使用ucfirst(),

将字符串转换成小写字母可以使用strtolower()

2.2.6 处理特殊的字符

有些字符对于MySQL是有特殊意义的,例如引号、反斜杠和NULL字符。如何正确处理这些字符?可以使用addslashes()函数和stripslashes()函数。

<?php 
$str=" \" ' \ NULL" ; 
echo $str. " <br/>"; 
echo addslashes ( $str). "<br/> ";
echo stripslashes ($str). "<br/>"; 
?>

2.3 常量和变量


常量和变量是编程语言的最基本构成元素,代表了运算中所需要的各种值。通过变量和常量,程序才能对各种值进行访问和运算。常量和变量的功能就是用来存储数据的,但区别在于常量一旦初始化就不再发生变化,可以理解为符号化的常数。本节介绍PHP中的常量和变量。
2.3.1 PHP中的常量
常量是指在程序执行过程中无法修改的值。在程序中处理不需要修改的值时,常量非常有用,例如定义圆周率PI。常量一旦定义,在程序的任何地方都不可以修改,但是可以在程序的任何地方访问。
在PHP中使用define()函数定义常量。该函数有3个参数,第1个参数表示常量名,第2个参数表示常量的值。
name:必选参数,常量名称,即标识符。
value:必选参数,常量的值。
case_insensitive:可选参数,如果设置为True,则该常量不区分大小写,不设置则默认是区分大小的。
常量在定义后,可以在运行脚本的任何地方使用。
例如,下面定义一个名为HOST的常量,如图2-8所示。

<?php 
define('host', 'www.bing.com');
echo host;
?>

常量说明如下。
常量默认区分大小写,按照惯例,常量标识符总是大写。常量名和其他任何PHP标记遵循相同的命名规则。合法的常量名以字母或下画线开始,后面跟任何字母、数字或下画线。
PHP的系统常量包括5个魔术常量和大量的预定义常量。
魔术常量会根据它们使用的位置而改变,PHP提供的5个魔术常量分别如下。
(1)_LINE_:表示文件中的当前行号。
(2)_FILE_:表示文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自PHP 4.0.2起,_FILE_总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
(3)_FUNCTION_:表示函数名称(PHP 4.3.0新加)。自PHP 5起,该常量返回该函数被定义时的名字(区分大小写)。在PHP 4中,该值总是小写字母的。
(4)_CLASS_:表示类的名称(PHP 4.3.0新加)。自PHP 5起,该常量返回该类被定义时的名字(区分大小写)。在PHP 4中,该值总是小写字母的。
(5)_METHOD_:表示类的方法名(PHP 5.0.0新加)。返回该方法被定义时的名字(区分大小写)。

<?php 
echo __LINE__;
echo '<br/>';
echo __FILE__;
echo '<br/>';
echo __FUNCTION__;
echo '<br/>';
echo __CLASS__;
echo '<br/>';
echo __METHOD__;
?>

2.3.2 PHP中的变量
在PHP中,创建一个变量首先需要定义变量的名称。变量名区分大小写,总是以$符号开头,然后是变量名。如果在声明变量时忘记变量前面的$符号,那么该变量将无效。在PHP中设置变量的正确方法如下所示。
$var_name=value;
直接赋值
直接把一个数值通过赋值表达式传递给变量,会把该变量原来的数值覆盖,如果在声明变量时没有赋值,则其行为就形同NULL。在声明变量时赋值是一种常用的变量的赋值方法,使用示例如下。
引用赋值

<?php 
$a='123';
$yin=&$a;
echo $yin.'<br/>';
$yin='new:$a';
echo $yin.'<br/>'.$a;

?>

从这里可以看出,对一个变量值的修改将会导致对另外一个变量值的修改。从本质上讲,变量的引用赋值导致两个变量指向同一个内存地址。因此,不论对哪一个变量进行修改,修改的都是同一个内存地址中的数据,从而出现同时被修改的结果。

常用的超全局变量如下。

(1)$GLOBALS:包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从PHP 3开始存在$GLOBALS数组。

2.变量作用域

声明变量的位置决定了变量的作用域,变量的作用域决定了程序的哪些部分可以访问该变量,哪些部分不可以访问该变量。在PHP中,变量的作用域范围可以分为4类:局部变量、函数参数、全局变量和静态变量,这里介绍一下变量的这几种作用域范围。

(1)局部变量。在一个函数中声明的变量是这个函数的局部变量,也就是说,该变量只能被函数内部成员访问,函数外部成员不能访问该变量,并且不可见。默认情况下,函数内部成员不能访问函数外定义的变量(平常所说的全局变量)。有时局部变量很有用,因为局部变量能够消除出现意外副作用的可能性,否则这些副作用将导致可全局访问的变量被有意或无意地修改。下面是一个使用局部变量的示例。

<?php
$count = 10; 
function AddCount() {
$count = 100; 
$count = $count + $count; 
echo $count; 
echo "<br/>" ; }
AddCount(); 
echo $count;
?>

200
10
不会发生变化

(2)函数参数。在PHP中,函数可以接收相应的参数。虽然这些参数接收函数外部的值,但退出函数后就无法访问这些参数。在函数执行结束后,参数的值就会消失,和函数的执行有很大的关系。函数参数在函数后面的括号内声明,运用函数参数的示例如下。

<?php
function add($x,$y)
{
	echo $x+$y;
}
add(1,2);
?>

(3)全局变量。全局变量可以在整个PHP程序中的任何地方访问,但是如果要修改一个全局变量,必须在修改该变量的函数中显式声明为全局变量。在函数中显式声明全局变量很简单,只需使用global关键字声明就可以。下面是一个使用全局变量的示例。

<?php
$x=1;
function add($a)
{

    global $x;
    $x+=$a;
}

add(100);
echo $x;
?>

(4)静态变量。静态变量在两次调用函数之间其值不变,静态变量仅在局部函数域中声明。用关键字static可以声明一个静态变量。静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留值。下面是一个使用静态变量的示例。

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

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

相关文章

项目管理工具dhtmlxGantt甘特图入门教程(十五):从MS项目导入/导出(中)

这篇文章给大家讲解利用dhtmlxGantt导入MS项目。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表&#xff0c;可满足应用程序的所有需求&#xff0c;是完善的甘特图图表库 DhtmlxGantt正版试用下载&#xff08;qun&#xff1a;764148812&#xff09;https…

【Java爬取赛事网站】命令行输出(仅供学习)

Java爬取赛事网站 参与社区的问题回答 问题回答这个作业属于哪个课程软件工程-23年春季学期这个作业要求在哪里软件工程实践第二次作业—文件读取这个作业的目标完成对澳大利亚网球公开赛相关数据的收集&#xff0c;并实现一个能够对赛事数据进行统计的控制台程序其他参考文献…

Kafka-Kraft 模式架构部署

Kafka-Kraft 模式架构部署 Kafka网址&#xff1a;https://kafka.apache.org/ PS&#xff1a;因环境原因此文档内端口都有修改&#xff01; 1.去官网下载二进制包 PS&#xff1a;3.4.0是目前最新的版本&#xff01;需要jdk1.8及以上版本启动。 [rootk8s-node1 ~]# wget https:/…

Linux下各种锁的理解和使用及总结解决epoll惊群问题(面试常考)

一.锁 锁出现的原因 临界资源是什么: 多线程执行流所共享的资源 锁的作用是什么, 可以做原子操作, 在多线程中针对临界资源的互斥访问... 保证一个时刻只有一个线程可以持有锁对于临界资源做修改操作... 任何一个线程如果需要修改&#xff0c;向临界资源做写入操作都必须持…

如何在 Primavera P6 中使用赢得值/挣值管理

目录 演示案例 如何在Primavera中绘制EVM图&#xff1f; 你是否想过如何在Primavera P6调度工具中应用挣值管理&#xff1f; 事实上&#xff0c;Primavera P6 能够使用挣值管理技术来控制项目进度和绩效&#xff0c;将项目成本与项目进度整合起来 演示案例 我们以一个简单…

JVM方法区详解有这篇就够了

1、方法区在哪里《Java虚拟机规范》中明确说明&#xff1a;“尽管所有的方法区在逻辑上是属于堆的一部分&#xff0c;但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言&#xff0c;方法区还有一个别名叫做Non-Heap&#xff08;非堆&#xff09…

记录面试问题

以下问题不分先后&#xff0c;按照印象深浅排序&#xff0c;可能一次记录不完成&#xff0c;后面想起来会及时补充&#xff0c;如有不对&#xff0c;恳请各位围观大佬多多指教&#x1f64f; 印象最深的是一道很简单很简单的题目&#xff0c;我结束面试之后赶紧代码敲敲发现答错…

简易计算器-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)

【案例11-2】 简易计算器 【案例介绍】 1.案例描述 本案例要求利用Java Swing 图形组件开发一个可以进行简单的四则运算的图形化计算器。 2.运行结果 运行结果 【案例分析】 要制作一个计算器&#xff0c;首先要知道它由哪些部分组成&#xff0c;如下图所示&#xff1a; 一…

见山,见路,见天地:OpenHarmony的开源共建攀登

自诞生之日起&#xff0c;OpenHarmony就引起着各方的关注&#xff0c;可谓是盛况空前。但一款开源操作系统的成功&#xff0c;困难不在第一步&#xff0c;而是第一步后面的一万步。那么&#xff0c;踏出开源第一步之后的OpenHarmony&#xff0c;后面的故事如何发展了呢&#xf…

(五十三)大白话基于主键的索引是如何设计的,以及如何根据主键索引查询?

上回我们说了数据页分裂的过程&#xff0c;在你不停的往表里灌入数据的时候&#xff0c;会搞出来一个一个的数据页&#xff0c;如果你的主键不是自增的&#xff0c;他可能会有一个数据行的挪动过程&#xff0c;保证你下一个数据页的主键值都大于上一个数据页的主键值。 在这个…

开启MySQL慢查询以及慢查询日志使用

目录 要开启慢查询&#xff0c;需要关注这几个参数 打开慢查询日志 把日志文件存储在文件中 模拟慢查询 如何寻找并查看慢查询日志 把日志文件存储在表中&#xff1a; 其他关注参数 log_slow_admin_statements Slow_queries 在生产环境中&#xff1a;mysqldumpslow工具分…

问题与解决办法整理一

文章目录1. Linux报错&#xff1a;terminate called after throwing an instance of ‘std::regex_error‘ what(): regex_error;[regex报错,需要将G,GCC都要升级才可以](https://blog.csdn.net/qq_56101220/article/details/127371121)2. ctemplate时遇到连接库失败的问题,将l…

redis(12)持久化操作-RDB

前言 Redis 提供了 2 个不同形式的持久化方式&#xff1a; RDB(Redis DataBase) AOF(Append Of File) RDB 在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c; 也就是行话讲的 Snapshot 快照&#xff0c;它恢复时是将快照文件直接读到内存里。 备份是如何执行的 Re…

自动化测试框架/工具选择

单元测试&#xff08;白盒测试&#xff09; XUnit等(一般开发自己做) 接口自动化测试&#xff08;灰盒测试&#xff09; soapUI&#xff0c;优点&#xff1a;上手快 缺点&#xff1a;商业工具 postMan&#xff1a;chrome插件 优点&#xff1a;免费 缺点&#xff1a;用例管理…

深入了解Apache InLong和重点理解Sort的应用

深入了解Apache InLong和重点理解Sort的应用一、产品优势二、产品架构三、模块四、已支持数据节点五、基本概念六、Agent 插件七、Sort插件八、Manager 插件九、DataProxy插件十、重点理解Sort的应用1.支持多种数据节点2.安装部署3.启动 InLong Sort 任务4.MySQL to PostgreSQL…

数据库——3.数据库的设计规范(实用版)

前面也出过一篇文章&#xff0c;那篇文章里面详细介绍了数据库的设计规范&#xff0c;包括方方面面的内容。说实话&#xff0c;其实里面好多东西都是一种习惯的问题&#xff0c;用不用都影响不大&#xff0c;只要知道那个概念&#xff0c;遇见时能理解&#xff0c;需要时会使用…

云原生可观察性工具泛滥的思考

前言 对于采用容器环境和kubernetes的公司来说&#xff0c;可观察性正变得越来越重要。CNCF最近的一份报告发现&#xff0c;72%的受访者使用了多达9种不同的工具来监控他们的云原生环境和应用程序。当然&#xff0c;如果不使用足够的监控工具&#xff0c;可能会导致隐藏的安全…

【链表OJ题(一)】移除链表元素

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录链表OJ题(一)1. 移除…

FreeRTOS入门(06):任务通知

文章目录目的基础说明使用演示作为二进制信号量作为计数信号量作为事件组作为队列或邮箱相关函数总结目的 任务通知&#xff08;TaskNotify&#xff09;是RTOS中相对常用的用于任务间交互的功能&#xff0c;这篇文章将对相关内容做个介绍。 本文代码测试环境见前面的文章&…

「JVM 高效并发」锁优化

为了线程间更高效的共享数据及解决竞争问题&#xff0c;提高程序执行效率&#xff0c;JDK 6 做了大量锁优化&#xff0c;如适应性自旋&#xff08;Adaptive Spinning&#xff09;、锁消除&#xff08;Lock Elimination&#xff09;、锁膨胀&#xff08;Lock Coarsening&#xf…