更新:我已将我的网址更新为以下内容:
脚本IWrote/1111/%5B%7B%93num%94%3A%93NX543%20.c38%202000%94%7D%2C%7B%93num%94%3A%93NX543%20.c38%202000%94%7D%5D .json
它给出了这样的数组:(当我使用 print_r($_GET['nums']) 时)
[{“num”:“NX543 .c38 2000”},{“num”:“NX543 .c38 2000”}]
这是有效的 JSON,但没有通过以下行解码:
$callNums = json_decode($_GET['nums'], true);
但是,仅用“array”替换“json_decode”实际上会将 $_GET['nums'] 视为字符串并且仍然不起作用
所以我试图通过 URL 为我正在编写的 API 传递 JSON 数组,如下所示:
scriptIWrote/1111/[0000,0000].json
我的 htaccess 规则设置如下:
RewriteCond %{THE_REQUEST} GET
RewriteRule ^scriptIWrote/([^/]+)/([^/]+)(?=.json) root/scriptIWrote/doThing.php?type=$1&names=$2 [L,QSA]
但是,当我打印出参数中包含的内容时,如下所示:
$names = json_decode($_GET['nums'], true);
//array of sheet values
$type = $_GET['type'];
error_log($names[0] . $nums[1]);
error_log($type);
$nums[0] 和 $nums[1] 为空,但 $type 显示正确的值;我知道我在我的 htaccess 中犯了一个错误,但我不确定我做错了什么......