Xiuno PHP 4.0开发手册 清扫版本 - 在Xiuno BBS中新定义的全局变量与函数
# 在Xiuno BBS中新定义的全局变量与函数
## 表单函数
**特别注意**
- 这些函数被硬编码为输出 Bootstrap 4 风格的 HTML 表单代码,灵活性较低。
- 推荐直接编写 HTML 代码,然后在 `value` 属性中使用 `= $value; ?>` 输出变量值。
- **务必在后端再次校验用户输入的内容,防止注入攻击**
### `form_radio_yes_no()`
#### 说明
```php
function form_radio_yes_no(string $name, int $checked = 0): string
```
生成"是/否"单选按钮组,返回 Bootstrap 4 风格的 HTML 代码。
#### 参数
- `$name`:单选按钮的 name 属性值
- `$checked`:默认选中值,1 表示"是",0 表示"否",默认为 0
#### 返回值
- 返回包含两个单选按钮的 HTML 字符串
#### 示例
```php
是
//
// 默认选中"是"
echo form_radio_yes_no('enable_cache', 1);
```
### `form_radio()`
#### 说明
```php
function form_radio(string $name, array $arr, int $checked = 0): string
```
生成单选按钮组,返回 Bootstrap 4 风格的 HTML 代码。
#### 参数
- `$name`:单选按钮的 name 属性值
- `$arr`:选项数组,键为选项值,值为显示文本
- `$checked`:默认选中值,默认为 0
#### 返回值
- 返回包含单选按钮组的 HTML 字符串
#### 示例
```php
'禁用',
1 => '启用',
2 => '审核中'
];
echo form_radio('status', $statusOptions, 1);
// 生成性别选择
$genderOptions = [
'male' => '男',
'female' => '女'
];
echo form_radio('gender', $genderOptions, 'male');
// 如果 $arr 为空,默认生成"否/是"选项
echo form_radio('agree', [], 1);
```
### `form_checkbox()`
#### 说明
```php
function form_checkbox(string $name, int $checked = 0, string $txt = '', mixed $val = 1): string
```
生成单个复选框,返回 Bootstrap 4 风格的 HTML 代码。
#### 参数
- `$name`:复选框的 name 属性值
- `$checked`:是否选中,1 表示选中,0 表示未选中,默认为 0
- `$txt`:复选框旁边的文本说明,默认为空
- `$val`:复选框的 value 属性值,默认为 1
#### 返回值
- 返回包含复选框的 HTML 字符串
#### 示例
```php
**注意**:此函数的输出可能不符合预期,建议直接编写 HTML 代码。
#### 参数
- `$name`:复选框的 name 属性值(通常以 `[]` 结尾,以便 PHP 接收为数组)
- `$arr`:选项数组,键为选项值,值为显示文本
- `$checked`:默认选中的值数组,默认为空数组
#### 返回值
- 返回包含多个复选框的 HTML 字符串
#### 示例
```php
'阅读',
'music' => '音乐',
'sports' => '运动',
'travel' => '旅行'
];
$selected = ['reading', 'music'];
echo form_multi_checkbox('hobbies[]', $hobbies, $selected);
// 生成权限选择
$permissions = [
'read' => '读取',
'write' => '写入',
'delete' => '删除'
];
$userPerms = ['read', 'write'];
echo form_multi_checkbox('perms[]', $permissions, $userPerms);
```
### `form_select()`
#### 说明
```php
function form_select(string $name, array $arr, int $checked = 0, mixed $id = TRUE): string
```
生成下拉选择框,返回 Bootstrap 4 风格的 HTML 代码。
#### 参数
- `$name`:下拉框的 name 属性值
- `$arr`:选项数组,键为选项值,值为显示文本
- `$checked`:默认选中值,默认为 0
- `$id`:是否生成 id 属性
- `TRUE`:生成与 name 相同的 id 属性(默认)
- 字符串:使用该字符串作为 id 属性值
- `FALSE`:不生成 id 属性
#### 返回值
- 返回包含下拉选择框的 HTML 字符串
- 如果 `$arr` 为空,返回空字符串
#### 示例
```php
'技术文章',
2 => '生活随笔',
3 => '项目分享'
];
echo form_select('cate_id', $categories, 1);
// 不生成 id 属性
echo form_select('status', [0=>'禁用', 1=>'启用'], 1, FALSE);
// 自定义 id 属性
echo form_select('type', ['a'=>'类型A', 'b'=>'类型B'], 'a', 'my_select_id');
```
### `form_options()`
#### 说明
```php
function form_options(array $arr, int $checked = 0): string
```
生成下拉选择框的 `