我有这个数组,我这样做:
事实证明,当尝试将其插入数据库时,其中一些var并不总是设置导致未定义的索引问题?
在将数据添加到数组之前,有没有快速检查每个值的方法?
$show_insert = array(
'title' => $show_data['title'],
'thetvdb_id' => $show_data['tvdbid'],
'release_date' => $show_data['FirstAired'],
'lastupdatethetvdb' => $show_data['lastupdatethetvdb'],
'moviedb_id' => $show_data['moviedb_id'],
'imdb_id' => $show_data['IMDB_ID'],
'img_id' => $show_data['tvdbid'],
'media_type' => 1,
'status' => $show_data['status'],
'length' => $show_data['runtime'],
'network' => $show_data['network'],
'overview' => $show_data['overview'],
'seasons' => $show_data['seasons'],
'episodes' => $show_data['episodes'],
'homepage' => $show_data['homepage'],
'last_airdate' => $show_data['last_air_date'],
'vote_average' => $show_data['vote_average']
);
Run Code Online (Sandbox Code Playgroud)
您可以使用三元运算符和isset().我们正在检查是否设置了变量和键(之前的部分?).如果设置,使用该变量(之间的部分?和:),如果不是,设置为空白(之后的部分:).
三元运算符的工作方式如下:
$variable = ( comparison ? if true : if false );
从而:
$show_insert = array(
'title' => ( isset( $show_data['title'] ) ? $show_data['title'] : '' ),
'thetvdb_id' => ( isset( $show_data['tvdbid'] ) ? $show_data['tvdbid'] : '' ),
[etc.]
);
Run Code Online (Sandbox Code Playgroud)