Получаю сообщению по вебсокету, здесь по одному их обрабатываю. Почему если убрать первый var_dump, то второй ничего не выведет, а с первым var_dump выводит. Первый var_dump выводит всю структуру массива, а второй его часть.
$this->queryByMessage($pair, $method, $endpoint, function ($data) use ($pair, $callback, $response_model) {
$str = strpos($data, "[");
$data = substr($data, $str, strlen($data));
$data = json_decode($data,true);
var_dump($data);//первый
// приводим ответ к структуре
foreach ($data as $order_book) {
if (is_array($order_book)) {
foreach ($order_book as $order) {
if(!empty($order)) {
if ($order[0] === 't') {
$trades[$pair][] = [$order[1], $order[2], $order[3], $order[4], $order[5]];
}
}
}
}
}
//если response_model = true, то преобразовываем данные
if(!empty($trades)) {
$result = $response_model ? $this->formatedResponse($trades, 'trade_history') : $trades;
//передаем в $callback данные
var_dump($result );//второй
}
}, $close_callback, $error_callback);
вообще напишу ответ, потомучто в коментарии будет очень сложно все описать. Смотрите что бы легчи читать код было и разобраться в том что и где не работает, стоит отказаться от вложеных if'ов, смотрим пример ниже
$this->queryByMessage($pair, $method, $endpoint, function ($data) use ($pair, $callback, $response_model) {
$str = strpos($data, "[");
$data = substr($data, $str, strlen($data));
$data = json_decode($data, true);
var_dump($data);//первый
// приводим ответ к структуре
foreach ($data as $order_book) {
// если не массив повторим
if (!is_array($order_book)) {
echo 'order boock is not array';
continue;
}
foreach ($order_book as $order) {
// если пуст повторим
if (empty($order)) {
echo 'error empty order continue';
continue;
}
// если 0 элемент t повторяем
if (isset($order[0]) && $order[0] !== 't') {
// тут выводим ошибку
echo 'error not found order 0' . PHP_EOL;
continue;
}
$trades[$pair][] = [$order[1], $order[2], $order[3], $order[4], $order[5]];
}
}
//если response_model = true, то преобразовываем данные
if (empty($trades)) {
// тут либо exception либо возврат из функции
return false;
}
$result = $response_model ? $this->formatedResponse($trades, 'trade_history') : $trades;
//передаем в $callback данные
var_dump($result);//второй
}, $close_callback, $error_callback);
далее если не выводит, значит не доходит до того момента когда надо вывести. А значит у вас $trades
пуст, а почему он пуст, скорректируйте код и увидите где что пусто и куда не доходит.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите, как правильно записать в БД текст, чтобы при этом сохранились все переносы строк? Текст парсится с сайта и потом уже пишется в БД
Как можно в wordpress импортировать данные xlsx, обработать эти данные и вывести результат на фронтенд? Также в файле xlsx могут быть формулы, те