Удалить N-ные данные из многомерного массива или JSON [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Удалить N-ные данные из многомерного массива или JSON [дубликат]

Сообщение Anonymous »


Я использую PHP для извлечения данных из базы данных. Ответ представляет собой многомерный JSON, и мне нужно динамически удалить часть данных, вот структура:

{ «успех»: правда, "данные": [ { «Имя»: «Джейн», "Идентификатор": "3473-45413-1657445", «Псевдоним»: «Доу», "УДИД": "654984-6548648-1651684", "КЛЮЧ": "ASD-456-GHJ", "параметры": [ { «Тип»: «К12», «Модель»: «53-ДДЛ», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль }, { «Тип»: «К11», «Модель»: «55-604», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль } ], «уровень»: 0, «Итого»: 55,5, «Член»: ноль, "LogTime": "2023-12-25 12:40:59", «ОП1»: «Джек», «ОП2»: «Дэнни», «ОП3»: «Пол», «Попытка»: 1, «Местоположение»: «Лос-Анджелес» }, { «Имя»: «Джейн», "Идентификатор": "3473-45413-1657445", «Псевдоним»: «Доу», "УДИД": "654984-6548648-1651684", "КЛЮЧ": "ASD-456-GHJ", "параметры": [ { «Тип»: «К12», «Модель»: «53-ДДЛ», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль }, { «Тип»: «К11», «Модель»: «55-604», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль } ], «уровень»: 0, «Итого»: 55,5, «Член»: ноль, "LogTime": "2023-12-25 12:40:59", «ОП1»: «Джек», «ОП2»: «Дэнни», «ОП3»: «Пол», «Попытка»: 1, «Местоположение»: «Лос-Анджелес» }, { «Имя»: «Джейн», "Идентификатор": "3473-45413-1657445", «Псевдоним»: «Доу», "УДИД": "654984-6548648-1651684", "КЛЮЧ": "ASD-456-GHJ", "параметры": [ { «Тип»: «К12», «Модель»: «53-ДДЛ», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль }, { «Тип»: «К11», «Модель»: «55-604», «UnitCost»: 55,5, «КОЛИЧЕСТВО»: 1, «Сумма»: 55,5, «Спецификация»: ноль } ], «уровень»: 0, «Итого»: 55,5, «Член»: ноль, "LogTime": "2023-12-25 12:40:59", «ОП1»: «Джек», «ОП2»: «Дэнни», «ОП3»: «Пол», «Попытка»: 1, «Местоположение»: «Лос-Анджелес» } ], «код»: 0, "msg": "Успех", "счет": 3 } Мне нужно удалить каждую секунду данных[]. Что я пробовал и работал, так это декодировать JSON в массив и разделить data[] как новый массив, а затем отключить каждую его вторую часть, как показано ниже:

$new_arr = $data['data']; for ($i = 1; isset($new_arr[$i]); $i += 2){ unset($new_arr[$i]); } Затем соедините новый массив с остальными исходными данными JSON.

Однако мне интересно, есть ли более элегантный способ использовать меньше кода и делать это на лету. Что-то вроде:

$data['data'][$i],$i++,if $i%2 ==0, unset($data['data'][$i]) Я попробовал, но не помогло. Есть свет?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»