一、什么是restful api
RESTful API 是一种基于HTTP协议的设计风格,通过使用标准的HTTP方法和资源表示,使得API设计简单、清晰且易于理解,一眼就能看出该API的作用。
使用标准的HTTP方法来操作资源:
GET:检索资源
POST:创建资源
PUT:更新资源
DELETE:删除资源
二、将一个二维数组的值首字母大写
// 示例二维数组
$array = [
['name' => 'john doe', 'city' => 'new york'],
['name' => 'jane smith', 'city' => 'los angeles']
];
// 函数:将字符串的首字母大写
function capitalizeFirstLetter($string) {
return ucfirst($string);
}
// 函数:处理二维数组中的每个值
function capitalizeArrayValues($array) {
return array_map(function($subArray) {
return array_map('capitalizeFirstLetter', $subArray);
}, $array);
}
// 处理后的数组
$result = capitalizeArrayValues($array);
// 输出处理后的数组
print_r($result);
三、优化语句查询
test表中数据有500w,字段有id/t_id/type_id/plat_id,语句为select max(t_id) from test where type_id=1 and plat_id=1
考察mysql语句优化,这里主要是优化max函数,max函数会导致全表扫描,效率会很低,可以使用order by加limit进行优化
select t_id from test where type_id=1 and plat_id=1 order by t_id desc limit 1;
当然还可以使用加索引进一步优化速度,这里可以加上(type_id/plat_id)联合索引。
正确做法是给t_id
加索引,还有(type_id/plat_id)联合索引。
四、找出N个数中的第M大的数
将数组进行降序排序,找出索引为M-1的值
function findMthLargest($array, $m) {
// 对数组进行降序排序
rsort($array);
// 返回第M大的数
return $array[$m - 1];
}
// 示例数组
$array = [3, 5, 2, 9, 7, 8, 1];
// 查找第3大的数
$m = 3;
$result = findMthLargest($array, $m);
echo "The {$m}rd largest number is: {$result}";
五、跨域请求时,如何解决
跨域请求(Cross-Origin Requests)指的是从一个源(协议、域名、端口三者组合)向另一个源发送的请求。由于安全原因,浏览器对跨域请求有严格的限制,称为同源策略(Same-Origin Policy)。
解决方法
- 在php脚本添加请求头
<?php
// 设置允许访问的域名
header("Access-Control-Allow-Origin: *");
// 设置允许的请求方法
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
// 设置允许的请求头
header("Access-Control-Allow-Headers: Content-Type, Authorization");
- 在nginx配置中添加请求头