更新: URL を次のように更新しました。
scriptIWrote/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);
ただし、「json_decode」を単に「array」に置き換えると、実際には $_GET['nums'] を文字列のように扱い、それでも機能しません
だから私は次のように、私が書いているAPIのURLで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 で間違いを犯していることはわかっていますが、何が間違っていたのかわかりません...