PHP入门

本文将探讨PHP的弱类型特性、常用输出函数,如echo与print,以及变量作用域、数据类型(包括bool和对象)、数组操作和特殊运算符。理解这些核心概念有助于提升PHP编程技能。

PHP的代码基础与其他语言相同,在之前的文章里都有提及,接下来主要提到的时PHP语言存在的特性。

PHP是服务器端脚本语言,是网站的后台。同时,PHP是一种弱类型语言。这代表着PHP在拥有着与C、C++等语言的共同特性时,不具有其他语言的特定性。即在PHP中,存在基本函数、变量和操作语句块,但变量的声明不需声明变量类型,在PHP中,声明变量类型需要用$。

PHP的第二个特性就是输出语句。在PHP中多用echo进行输出,echo语句可以同时输出多个字符串,其他的输出函数有print和print_r()。

在PHP中,用GET发送的信息会显示在地址栏内,而用POST发送的信息不会显示在地址栏内,也不会限制发送信息的量。

在PHP中,同样存在全局变量和局部变量,存在全局作用域和局部作用域。不同的是,在PHP中调用全局变量需要用到global关键字,例如

<?php
$x=5;
$y=10;
 
function myTest()
{
    global $x,$y;
    $y=$x+$y;
}
 
myTest();
echo $y; // 输出 15
?>

在这段代码中,我们在myTest函数中调用了全局变量x、y,并在函数中对y的值进行处理,此时我们就用到了global关键字调用xy变量。同样,我们也可以定义一个GLOBALS数组

GLOBALS[index]

index用于保存变量的名称。GLABALS数组可以在函数内部访问,也可用于修改全局变量。

在PHP中定义函数时,当一个函数完成后,他的所有局部变量都会被删除,在需要某个局部变量不被删除时,就需要在声明该变量的时候使用static关键字:

<?php
function myTest(){
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
myTest();
myTest();
myTest();
?>

这段代码的运行结果是012
在这段代码中,如果不使用static关键字,每次myTest函数运行时,x的初值都为0。在使用static关键字后,myTest函数运行完成时,变量x不会被删除,而会记录上一次函数运行结束时的值,继续在下一次函数中运用。因此,在整段代码运行结束时,输出的结果为012,变量x的值为

PHP中也存在相同的数据类型,特殊的,在PHP中,bool变量多用true和false表示,只有在弱比较和基本函数语句中可以用0和1来表示。在PHP中,对象作为一种数据类型也可用于存储数据,代码示例如下:

<?php
class Car{
    var $color;
    function __construct($color="green") { $this->color = $color;}
    function what_color() { return $this->color;}
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) { echo "\t$prop = $val\n";}
}
// 实例一个对象
$herbie = new Car("white");
// 显示 herbie 属性
echo "\therbie: Properties\n";
print_vars($herbie);
?>

这段代码的运行结果为

herbie: Properties color = white

在这段代码中,声明color变量使用的函数是var,这与Pascal语言相同,而this是指向当前对象实例的指针,不指向任何其他对象或类。输出语句中的\t、\n分别表示跳格(类似于计算机中的TAB)和换行。

在PHP中,还有一种特殊的运算符规则——并置,表示为a.b作用为连接两个字符串。同样,在赋值运算符中也存在并置运算,表示为$x.= 作用依然是连接两个字符串

<?php
$a = "Hello";
$b = $a . " world!";
echo $b; //输出“Hello world!” 
$x="Hello";
$x .= " world!";
echo $x; //输出“Hello world!”
?>

在PHP中,同样存在递增递减运算符和预递增预递减运算符,递增递减和预递增预递减的区别为,递增递减先返回变量再+1,预递增预递减先+1再返回变量。

同样,在PHP中,数组也存在运算,存在合并运算(+)、比较运算(==相等、===恒等、!= <>不相等和!==不恒等)。

在PHP7+中,还存在组合比较符(太空船比较符),组合比较符可以轻松实现两变量的比较,不限于数值类数据。$c = $a <=> $b;具体作用为:

  1. 如果a>a>a>b,则$c的值为1。
  2. 如果a==a==a==b,则$c的值为0。
  3. 如果a<a<a<b,则$c的值为-1。
    代码实例如下:
<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1 
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

在运算符中,同样也存在优先级比较如图
在这里插入图片描述
在此之外,PHP也存在括号优先运算的规则。

<think> 首先,用户的问题是:“我想获取PHP入门的相关内容 请问PHP入门教程和学习资料”,意思是“我想获取PHP入门的相关内容,请问PHP入门教程和学习资料”。 根据系统级指令: - 所有行内数学表达式必须使用$...$格式。但用户的问题是关于PHP编程的,不是数学相关的,所以可能不需要数学表达式。指令说“包括变量、不等式、方程等”,但在这个上下文中,可能不适用。我应该确保在回答中如果有数学内容,使用正确格式。 - 独立公式使用$$...$$格式并单独成段。同样,可能不适用。 - LaTeX语法正确:确保任何LaTeX使用正确。 - 使用中文回答:整个回答必须是中文。 - 生成相关问题:在回答后添加相关问题。 - 回答中引用的段落末尾自然地添加引用标识:例如[^1]。参考了三个引用:[^1], [^2], [^3]。 用户引用了三个来源: - [^1]: PHP语言学习教程:从入门到精通。 - [^2]: PHP基础教程,包括区分大小写的例子。 - [^3]: Github入门教程。 指令说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。” 但在这个交互中,这是用户的第一条消息,所以没有上一次问题和我的回答。我需要基于用户当前的查询。 用户的需求是获取PHP入门教程和学习资料。引用[^1]和[^2]直接相关,[^3]是关于GitHub的,可能作为辅助。 我的回答结构应该: - 结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠:基于提供的引用或一般知识。 - 生成相关问题。 步骤: 1. **介绍PHP入门**:简要解释PHP是什么,为什么学习它。 2. **提供教程和学习资料**:基于引用,推荐[^1]和[^2]作为PHP入门资源。描述内容。 - [^1]:PHP语言学习教程,从基础到高级。 - [^2]:PHP基础教程,包括区分大小写的代码示例。 - [^3]:关于GitHub的教程,可能建议结合使用GitHub来管理代码。 3. **添加引用标识**:在回答中,当提到这些资源时,在段落末尾添加如[^1]。 4. **生成相关问题**:在最后,添加相关问题部分。 确保回答是中文。 大纲回答: - 开头:欢迎用户,解释PHP入门的重要性。 - 推荐教程: - 引用[^1]:PHP语言学习教程,从入门到精通。[^1] - 引用[^2]:PHP基础教程,强调区分大小写等基础概念。[^2] - 建议学习路径:从基础开始,练习代码。 - 辅助资源:提到[^3]关于GitHub入门教程,用于代码管理。[^3] - 结束:鼓励用户开始学习。 然后,生成相关问题: §§相关问题§§ 1. PHP的基础语法有哪些关键点? 2. 如何安装PHP开发环境? 3. PHP与其他服务器端语言如Python或Node.js的比较? 确保回答可靠:基于引用,不要编造。 最后,添加引用标识:例如,“PHP语言学习教程:从入门到精通” [^1]。 </think>以下是针对您查询“PHP入门教程和学习资料”的详细回答。我将基于站内引用内容,为您提供结构清晰的指南。PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,特别适合Web开发,能轻松嵌入HTML。入门PHP需要掌握基础语法、变量处理、控制结构等。以下内容参考了可靠的站内资源,确保真实性和实用性。 ### 1. **PHP入门核心资源推荐** - **PHP语言学习教程:从入门到精通** 这是一篇全面的教程,适合初学者和有经验的开发者。它从基础语法讲起,覆盖变量定义、数据类型、函数使用、面向对象编程等核心概念。教程还包含大量实战代码示例,帮助您快速上手。例如,您会学习到如何编写简单的PHP脚本,处理表单数据,以及连接数据库。资源强调循序渐进的学习路径,让您从零基础到能独立开发动态网页。[^1] - **学习建议**:先阅读基础章节(如变量声明和输出),然后尝试编写小项目,如用户登录系统。 - **获取方式**:通常在在线编程平台或教育网站免费提供,您可以在搜索引擎中输入“PHP语言学习教程”找到。 - **PHP基础教程** 该教程重点讲解PHP的语法规则,包括语句和变量的区分大小写特性。它提供了直观的代码演示,帮助您避免常见错误。例如,教程中的示例代码展示了变量大小写敏感性的影响: ```php <html> <body> <?php $capital = 18; print("Da wo niu is $capital<br>"); print("Da Wo Niu is $CaPiTaL<br>"); ?> </body> </html> ``` 输出结果会显示第一个`print`语句正确输出值(如“Da wo niu is 18”),而第二个因变量名大小写错误输出“Da Wo Niu is”(无值)。这突显了PHP的严格语法规则,对新手非常有价值。[^2] - **学习建议**:动手运行代码示例,使用本地环境(如XAMPP或Docker)测试变量大小写的变化。 - **获取方式**:在基础编程教程网站或GitHub仓库中搜索“PHP基础教程”。 ### 2. **辅助学习资料:GitHub入门教程** 作为PHP学习的补充,我推荐结合**GitHub入门教程**。GitHub是代码托管平台,能帮助您管理PHP项目、协作和分享代码。教程详细介绍了Git版本控制的基础操作,如仓库创建、提交代码和分支管理。这对PHP开发者至关重要,因为您可以将练习代码上传到GitHub,方便回顾和社区反馈。资源适合新手,步骤清晰,从安装Git到发布第一个项目。[^3] - **学习建议**:在学习PHP的同时,使用GitHub保存您的代码练习。例如,创建一个PHP学习仓库,记录每个小项目。 - **获取方式**:搜索“Github入门教程非常详细”,许多中文博客和视频平台提供免费访问。 ### 3. **入门学习路径建议** - **步骤1:安装环境** 先设置本地开发环境。推荐使用XAMPP(Windows/macOS)或Docker,它们集成了PHP、Apache服务器和MySQL数据库。安装后,运行一个简单脚本测试(如`<?php echo "Hello, World!"; ?>`)。 - **步骤2:学习基础** 从引用资源开始,每天花1小时学习变量、运算符、条件语句(如`if-else`)和循环(如`for`)。练习代码示例,强化记忆。 - **步骤3:实战项目** 尝试小项目,如创建动态网页表单或简单计算器。结合GitHub管理代码。 - **步骤4:进阶资源** 掌握基础后,参考官方文档(php.net)或在线课程(如Coursera上的“PHP for Beginners”)。 ### 4. **注意事项** - PHP入门易但精通难,坚持练习是关键。遇到问题,利用社区论坛(如Stack Overflow)寻求帮助。 - 所有推荐资源免费且可靠,基于引用内容。避免付费课程初期,除非有特定需求。 如果您有更多细节需求(如具体安装步骤),请随时补充提问!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oblivion_Zzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值