Привет, я использую Radchet Websocket. У меня проблемы с получением данных из объектной переменной.
Пожалуйста, проверьте мой код:
var conn = new WebSocket('ws://localhost:8080?user_id=10&receiver_id=20');
$querystring = $conn->WebSocket->request->getQuery();
print_r($querystring);
Выход:
Guzzle\Http\QueryString Object
(
[fieldSeparator:protected] => &
[valueSeparator:protected] => =
[urlEncode:protected] => RFC 3986
[aggregator:protected] =>
[data:protected] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
Над кодом я хочу user_id
а также receiver_id
но я не могу получить.
Мой код:
echo $querystring->data:protected['user_id'];
echo $querystring->data:protected['receiver_id'];
Я повторил, но получаю сообщение об ошибке. Пожалуйста, помогите мне.
РЕДАКТИРОВАТЬ:
Если я конвертирую объект в массив, он не показывает правильный формат. увидеть ниже.
$array = (array) $querystring;
print_r($array);
Выход:
Array
(
[ * fieldSeparator] => &
[ * valueSeparator] => =
[ * urlEncode] => RFC 3986
[ * aggregator] =>
[ * data] => Array
(
[user_id] => 10
[receiver_id] => 20
)
)
Жрать \ Http \ QueryString продолжается Жрать \ Common \ Коллекция так что вы должны быть в состоянии использовать методы коллекции:
$user_id = $querystring->get('user_id');
$receiver_id = $querystring->get('receiver_id');
или же
$parameters = $querystring->toArray();
$user_id = $parameters['user_id'];
$receiver_id = $parameters['receiver_id'];
Других решений пока нет …