这是否可以接受,因为它正在检查是否有一个数组PLUS检查数组的大小(它可能不存在)
var weatherQuery = this.docClient.CreateDocumentQuery<WeatherStation>(docUri, queryOptions)
.Where(wq => wq.stationName == stationKey && lstYearMonthFilter.Contains(wq.yearMonth))
.SelectMany(x => x.data.Select(y => new { x.yymm, data = new[] { new { y.dd, y.avg } } }))
.AsDocumentQuery();
var results = new List<WeatherStation>();
while (weatherQuery.HasMoreResults)
{
results.AddRange(await weatherQuery.ExecuteNextAsync<WeatherStation>());
}
var groupedResults = results
.GroupBy(x => x.yymm)
.Select(x => new { x.First().yymm, data = x.SelectMany(y => y.data).ToArray() })
.Select(x => new WeatherStation() { yymm = x.yymm, data = x.data });
或者它应该是
if ( is_array($ar) && sizeof($ar) > 0) {}
答案 0 :(得分:0)
由于PHP不是一种强制类型的语言(它是“松散类型”),你可以这样做:
if( $ar && is_array( $ar ) )
这是有效的,因为如果数组为空,$ ar将计算为FALSE。如果$ ar不为空,那么is_array将确保它是一个数组。顺便说一句,这假设$ ar已设置。如果没有设置$ ar,那么检查它会给你一个PHP通知。要完成,如果$ ar可能不存在:
if( isset( $ar ) && $ar && is_array( $ar ) )