Я использовал код из @liquorvicar для определения тенденций рейтинга страниц поиска Google, но добавил некоторые дополнительные значения трендов, чтобы сделать его более точным:
без изменений - без изменений
лучше (более высокая позиция Google = меньшее число)
хуже (нижняя позиция Google = большее число)
Я также добавил дополнительные проверки, когда последнее значение не изменилось, но с учетом предыдущих изменений, т.е.
worsenochange (без изменений, предыдущий был хуже - меньшее число)
betternochange (без изменений, предыдущий был лучше - меньшее число)
Я использовал эти значения для отображения диапазона значков трендов:
$_trendIndicator="<img title="trend" width="16" src="/include/main/images/trend-'. $this->getTrend($_positions). '-icon.png">";
private function getTrend($_positions)
{
// calculate trend based on last value
//
$_previousValue = false;
$_trend = 'nochange';
foreach( $_positions as $_currentValue ) {
if( $_previousValue !== false ) {
if( $_currentValue > $_previousValue ) {
$_trend = 'better';
} elseif( $_currentValue < $_previousValue ) {
$_trend = 'worse';
}
if ($_trend==='worse' && ($_previousValue == $_currentValue)) {$_trend = 'worsenochange';}
if ($_trend==='better' && ($_previousValue == $_currentValue)) {$_trend = 'betternochange';}
}
$_previousValue = $_currentValue;
}
return $_trend;
}