Какой формат строки запроса это [ключ: значение], и как я могу (ре) создать его? - PullRequest
0 голосов
/ 24 октября 2018

Я работаю с Laravel - жрать.Я использую API, где мне нужно передать строку запроса, как:

http:://domain.com/WS.php?secret=123123&app=app1&message=[key:value][key2:value][key3:value]

Я использую этот массив для сбора данных:

$query = [
   'query' => [
       'app'     => 'app1',
       'secret'  => '123123',
       'message'   => [
            'key1'  => 'value',
            'key2'  => 'value',
            'key3'  => 'value',
        ]
    ]
]

Я не уверен, как яможет преобразовать это в запрошенную строку запроса.На самом деле я не знаком с этой частью [key:value] вообще.Я мог бы вручную создать строку (возможно, в крайнем случае), но я ищу лучший способ, чем этот.

1 Ответ

0 голосов
/ 24 октября 2018

Поддерживаемый синтаксис строки запроса для массивов PHP:

variable[key?]=value

Итак,

message[key]=value&message[key2]=value

Поддерживается не означает единственный способ, это просто ожидаемый способ при работе сPHP, так как он не требует каких-либо дополнительных манипуляций.

На самом деле нет предела тому, как вы справляетесь со вводом в вашем собственном приложении, и если они разработали его для чтения стандартного ввода или ввода таким способом, это то, что вы должны отправить.Я сомневаюсь, что есть что-то встроенное для поддержки этого, но почему вы не можете просто перебрать массив для создания строки для сообщения:

foreach($message as $key=>$value) {
    $str .= "[$key:$value]";
}
...