### PHP语法速查卡高级版知识点详解
#### 高级运算符
- **`instanceof`**:用于检查一个对象是否是某个类的实例。基本用法为:`<variable> instanceof <class>`。
- 示例:判断 `$obj` 是否为 `SomeClass` 的实例。
```php
if ($obj instanceof SomeClass) {
// 执行相关操作
}
```
- **错误抑制符 `@`**:当置于函数调用之前时,它可以用来抑制任何由该函数产生的错误或警告。
- 示例:使用 `@` 来忽略错误。
```php
$result = @some_function(); // 如果 `some_function()` 出错,错误会被忽略
```
#### 数据库操作(MySQL)
- **连接数据库**
- `mysql_connect([<server>],[<user>],[<password>]);`:建立与 MySQL 数据库服务器的连接。
- 示例:
```php
$conn = mysql_connect('localhost', 'username', 'password');
```
- **创建数据库**
- `mysql_create_db(<database>,[<link_identifier>]);`:创建一个新的 MySQL 数据库。
- 示例:
```php
mysql_create_db('new_database', $conn);
```
- **选择数据库**
- `mysql_select_db(<database>,[<link_identifier>]);`:选择要使用的 MySQL 数据库。
- 示例:
```php
mysql_select_db('existing_database', $conn);
```
- **删除数据库**
- `mysql_drop_db(<database>,[<link_identifier>]);`:删除指定的 MySQL 数据库。
- 示例:
```php
mysql_drop_db('old_database', $conn);
```
- **列出所有数据库**
- `mysql_list_dbs([<link_identifier>]);`:返回所有数据库的列表。
- 示例:
```php
$databases = mysql_list_dbs($conn);
```
- **列出表**
- `mysql_list_tables(<database>,[<link_identifier>]);`:返回指定数据库中所有表的列表。
- 示例:
```php
$tables = mysql_list_tables('existing_database', $conn);
```
- **列出字段**
- `mysql_list_fields(<database>,<table>,[<link_identifier>]);`:返回指定表的所有字段列表。
- 示例:
```php
$fields = mysql_list_fields('existing_database', 'users_table', $conn);
```
- **执行 SQL 查询**
- `mysql_query(<query>,[<link_identifier>]);`:执行 SQL 查询并返回结果资源。
- 示例:
```php
$result = mysql_query('SELECT * FROM users', $conn);
```
- **获取查询结果**
- `mysql_fetch_array(<query_result>,<result_type>)`:获取查询结果集中的下一行作为关联数组、数字索引数组或两者的组合。
- `mysql_fetch_assoc(<query_result>)`:获取查询结果集中的下一行作为关联数组。
- `mysql_fetch_object(<query_result>,[<classname>],[<arrayparams>])`:获取查询结果集中的下一行作为对象。
- `mysql_fetch_row(<query_result>)`:获取查询结果集中的下一行作为数字索引数组。
- 示例:
```php
while ($row = mysql_fetch_assoc($result)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'];
}
while ($row = mysql_fetch_object($result)) {
echo "ID: " . $row->id . ", Name: " . $row->name;
}
```
- **其他常用函数**
- `mysql_affected_rows([<link_identifier>])`:获取上一步 INSERT、UPDATE 或 DELETE 操作所影响的行数。
- `mysql_num_rows(<query_result>)`:获取结果集中行的数量。
- `mysql_num_fields(<query_result>)`:获取结果集中列的数量。
- `mysql_real_escape_string(<string>,[<link_identifier>])`:转义字符串以防止 SQL 注入。
- `mysql_close([<link_identifier>])`:关闭与 MySQL 服务器的连接。
#### 文件读写
- **打开文件**
- `fopen(<filename>,<mode>,[<booluse_include_path>],[<context>]);`:根据指定模式打开文件。
- 示例:
```php
$file = fopen("example.txt", "r");
```
- **读取文件**
- `fread(<file_handle>,<length>)`:从文件指针中读取指定长度的数据。
- 示例:
```php
$content = fread($file, filesize("example.txt"));
```
- **写入文件**
- `fwrite(<file_handle>,<string>,[<length>])`:将字符串写入文件。
- 示例:
```php
fwrite($file, "Hello, world!");
```
- **移动文件指针**
- `fseek(<file_handle>,<offset>,[<whence>])`:改变文件指针的位置。
- 示例:
```php
fseek($file, 20); // 将文件指针移动到第 20 个字符处
```
- **关闭文件**
- `fclose(<file_handle>)`:关闭已打开的文件。
- 示例:
```php
fclose($file);
```
- **检查文件可读性**
- `is_readable(<filename>)`:检查文件是否可读。
- 示例:
```php
if (is_readable("example.txt")) {
echo "文件可读";
}
```
- **检查文件可写性**
- `is_writable(<filename>)`:检查文件是否可写。
- 示例:
```php
if (is_writable("example.txt")) {
echo "文件可写";
}
```
#### 文件/目录处理
- **检查文件是否存在**
- `file_exists(<filename>)`:检查指定路径的文件是否存在。
- 示例:
```php
if (file_exists("example.txt")) {
echo "文件存在";
}
```
- **检查是否为文件**
- `is_file(<filename>)`:确定指定的路径是否为文件。
- 示例:
```php
if (is_file("example.txt")) {
echo "这是一个文件";
}
```
这些知识点涵盖了 PHP 高级版语法速查卡中的主要内容,对于 PHP 开发者来说是非常实用且重要的参考信息。在实际开发过程中,熟练掌握这些知识点能够帮助开发者更加高效地进行编程工作。