检查数组PHP的正确方法

时间:2018-02-21 00:36:21

标签: php arrays

这是否可以接受,因为它正在检查是否有一个数组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) {}

1 个答案:

答案 0 :(得分:0)

由于PHP不是一种强制类型的语言(它是“松散类型”),你可以这样做:

if( $ar && is_array( $ar ) )

这是有效的,因为如果数组为空,$ ar将计算为FALSE。如果$ ar不为空,那么is_array将确保它是一个数组。顺便说一句,这假设$ ar已设置。如果没有设置$ ar,那么检查它会给你一个PHP通知。要完成,如果$ ar可能不存在:

if( isset( $ar ) && $ar && is_array( $ar ) )