Как исправить неопределенное смещение: 2? - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь переместить элемент массива в другой массив.

$index = 0;
        foreach($d as $single){

            if(!in_array($single,$Fresh_Record['date'])){
                if(count($Fresh_Record['date']) >= $index){
                    $map_array['date'] = $Fresh_Record['date'][$index];
                    $map_array['counter'] = 0;
                }
            }

            $index++;
        }

где

$d =  [
  0 => "2019-01-17"
  1 => "2019-01-16"
  2 => "2019-01-15"
  3 => "2019-01-14"
  4 => "2019-01-13"
  5 => "2019-01-12"
  6 => "2019-01-11"
]

А

$Fresh_Record =  [
    "date" => array:2 [
        0 => "2019-01-10"
        1 => "2019-01-14"
    ]
    "counter" => array:2 [
        0 => 1000.0
        1 => 500.0
    ]
]

Но это ошибка возврата Undefined offset: 2.

На самом деле я пытаюсь сохранить даты в $map_array['date'] из $d, которые не являются $Fresh_Record['date'].

То же самое с counter, как вы можете видеть в массиве. Так что дата недоступна в $Fresh_Record['date'], тогда я хочу добавить дату от $d к $map_array['date'] а также счетчик 0.

После @SPlatten Комментарий

$index = 0;
        foreach($d as $single){

            if(!in_array($single,$Fresh_Record['date'])){

                if(isset($Fresh_Record['date'][$index]))
                    $map_array['date'] = $Fresh_Record['date'][$index];
                } 
            }

            $index++;
        }

1 Ответ

0 голосов
/ 17 января 2019

Проблема с вашим массивом $Fresh_Record. Массив сформирован неправильно. Это должно выглядеть так

$Fresh_Record =  [
    "date" => [
        0 => "2019-01-10"
        1 => "2019-01-14"
    ]
    "counter" => [
        0 => 1000.0
        1 => 500.0
    ]
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...