Уже несколько минут не могу решить проблему связанную с циклом в PHP

Код такой:

foreach ($leads as $leadData) {
            $data = $leadData['data'];

            $dealForBus = json_encode([
                "ownerId" => $object->ownerId
            ]);
            addToBus($this->pdo, $event, $dealForBus);
        }

Данные внутри $leads такие:

[
        {
            "id": 53,
            "moment": "2024-07-15 21:27:53",
            "data": {
                "messageId": "3ABB9BBF9ACB92858E87"
            },
            "sourceData": {
                "messageId": "3ABB9BBF9ACB92858E87"
            }
        },{
            "id": 54,
            "moment": "2024-07-15 21:27:58",
            "data": {
                "messageId": "3ABB9BBF9ACB92858E87"
            },
            "sourceData": {
                "messageId": "3ABB9BBF9ACB92858E87"
            }
        }
]

Проблема заключается в том, что после итерации цикла значение id внутри leads меняется, то есть если например как приведенном мною случае внутри leads имеются id равные 53 и 54 то после прохождения через цикл, а именно после строки $data = $leadData['data']; значение id равный 54 заменяется на 53 и соответственно leads после этого имеет значения id 53 и 53. И каждый раз последний id заменяется на предыдущий.


Ответы (1 шт):

Автор решения: Антон Виноградов

Попробуйте поработать с циклом for:

for($i = 0; $i <= count($leads)-1; $i++){
   $leads_id = $leads[$i]["id"];
   $leads_moment = $leads[$i]["moment"];
   $leads_data_messageId = $leads[$i]["data"]["messageId"];
   $leads_sourceData_messageId = $leads[$i]["sourceData"]["messageId"];
   //Далее подставляем эти переменные в нужные функции
}
→ Ссылка