PHP基础教程:语法、数据类型与作用域
需积分: 0 146 浏览量
更新于2024-08-04
收藏 305KB DOCX 举报
"学习笔记1 - PHP基础与常见问题处理"
在PHP编程中,掌握基本语法、数据类型以及变量的使用是至关重要的。本笔记将详细阐述这些知识点。
首先,我们来看PHP中的语法输出。`echo` 和 `printf` 是两种常用的输出语句。`echo` 用于快速输出一个或多个字符串,而`printf` 允许格式化输出,支持变量插入和精度控制。
数据类型在PHP中包括布尔型、整型、浮点型、字符串和数组。布尔型只有两个值:`true` 和 `false`。整型用来存储整数,如 `-123` 或 `456`。浮点型用于存储带有小数的数值,例如 `3.14`。字符串则是一系列字符,可以使用单引号或双引号定义。数组是一种可变数据结构,可以存储多个值,像这样 `$array[0]="zero"` 和 `$array['zero']=0`。对象在PHP中是复杂的数据结构,包含属性和方法,可以通过 `->` 操作符访问。
获取数据类型可以使用 `gettype()` 函数。变量在PHP中以 `$` 开头,无需预先声明。变量可以引用地址,例如:
```php
$value1="liuyanwei1";
$value2=&$value1;
$value1="changedit!";
echo $value2; // 输出 "changedit!"
```
变量的变量(Variable Variables)允许动态引用变量,如下例所示:
```php
$name="liuyanwei";
$liuyanweiAge="20";
$$name="iscoder";
echo "$name$liuyanwei<br/>"; // 输出 "liuyanweiiscoder"
echo "$name${$name}"; // 输出 "iscoderiscoder"
```
接下来是变量的作用域。PHP中有四种变量类型:局部变量、函数变量、全局变量和静态变量。局部变量只在定义它们的函数内部有效,函数变量仅在特定函数内部可见。全局变量在整个PHP脚本中都有效,但需在函数内用 `global` 关键字声明才能访问。静态变量在函数每次调用时保持其值,不会在函数结束时清除。
超级全局变量是全局范围的特殊变量,如 `$_SERVER` 可以获取服务器和请求的相关信息,`$_GET` 和 `$_POST` 用于处理HTTP请求中的参数,`$_FILES` 用于处理文件上传,`$_COOKIE` 存储cookie数据,`$_SESSION` 用于会话管理。
处理HTTP请求时,比如查询数据库,可以使用MySQLi扩展。以下是一个简单的示例:
```php
$mysql_u = 'liuyw';
$mysql_p = 'weiwei';
$mysql_h = '61.147.124.16';
$mysql_db_crown = 'crown'; // crownDB
$crownDB = new mysqli($mysql_h, $mysql_u, $mysql_p, $mysql_db_crown) or die('error');
$newsQuery = "SELECT * FROM t_news WHERE categoryID=$categoryID LIMIT $min, $max";
$newsList = $crownDB->query($newsQuery, MYSQLI_STORE_RESULT);
```
在实际开发中,需要注意SQL注入和错误处理,通常使用预处理语句来避免SQL注入,并使用异常处理机制捕获和处理错误。
以上内容涵盖了PHP的基础语法、数据类型、变量、作用域、超级全局变量以及数据库操作的基本概念,是学习PHP编程的重要基石。
2010-04-05 上传
13572025090
- 粉丝: 723
- 资源: 313
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践