Разрешить пустой индекс массива в цикле foreach - PullRequest
0 голосов
/ 19 сентября 2018

Попытка вставить данные, даже если какой-либо индекс массива в цикле foreach пуст.при попытке следующего скрипта выдает ошибку Undefined index: в случае пустого индекса.

$data = array();
if(count($_POST['data']) > 0 && !empty ($_POST['data'])){  
    foreach($_POST['data'] as $key => $array){
        $row = array();
        $row['team_id'] = intval($array['team_id']);
        $row['Note'] = strip_tags(trim(strval($array['Note'])));
        $row['result'] = strip_tags(trim(strval($array['result'])));
        $data[$key] = $row;
    }
        $sql = $db->prepare("INSERT INTO teams ('team_id','note','result') values (:team_id, :note, :result) ");

        foreach($data as $key => $array){
           $sql->execute(array(':team_id' => $array['team_id'], ':note' =>$array['Note'], ':result' => $array['result'], ));
    }
}

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018
<?php

$data = array();
foreach ($_POST['data'] as $key => $array) {
    $data[$key]['team_id'] = isset($array['team_id']) ? intval($array['team_id']) : null;
    $data[$key]['Note'] = isset($array['Note']) ? strip_tags(trim(strval($array['Note']))) : null;
    $data[$key]['result'] = isset($array['result']) ? strip_tags(trim(strval($array['result']))) : null;

}

?>
0 голосов
/ 19 сентября 2018

Вы можете запретить isset при установке в переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...