写这些支票的正确方法是什么.我有一个数组,一些时间值没有设置或它们是空的.现在代码有点难以阅读,我该怎么做才能让它看起来更清晰,更可靠.或者我只是在努力.有什么建议?
<?php
private static function filter_yt_data($yt_api_response = null)
{
$data = array();
$api = json_decode($yt_api_response);
$api = $api->data->items[0];
$data = array(
'id' => $api->id,
'author' => e($api->uploader),
'label' => e($api->category),
'title' => e($api->title),
'description' => e($api->description),
'duration' => $api->duration,
'view_count' => $api->viewCount,
'access' => $api->accessControl->embed,
'favorite_count'=> $api->favoriteCount
);
if($api->accessControl->comment == 'allowed')
{
$data['comment_count'] = $api->commentCount;
}
else
{
$data['comment_count'] = 0;
}
if($api->ratingCount)
{
$data['rating_count'] = $api->ratingCount;
}
else
{
$data['rating_count'] = 0;
}
if($api->accessControl->rate == 'allowed')
{
$data['like_count'] = $api->likeCount;
}
else
{
$data['like_count'] = 0;
}
if($api->thumbnail->hqDefault)
{
$data['thumbnail'] = $api->thumbnail->hqDefault;
}
elseif($api->thumbnail->sqDefault)
{
$data['thumbnail'] = $api->thumbnail->sqDefault;
}else
{
$data['thumbnail'] = null;
}
return $data;
}
?>
Run Code Online (Sandbox Code Playgroud)
if($api->accessControl->comment == 'allowed')
{
$data['comment_count'] = $api->commentCount;
}
else
{
$data['comment_count'] = 0;
}
Run Code Online (Sandbox Code Playgroud)
也可能是:
$data['comment_count'] = $api->accessControl->comment == 'allowed' ? $api->commentCount : 0;
Run Code Online (Sandbox Code Playgroud)
这称为三元运算符
句法:
$variable = (condition) ? if condition true : else;
Run Code Online (Sandbox Code Playgroud)
这样你就可以替换所有的if-else语句.