В Highstock свойство ordinal
для xAxis
включено по умолчанию, что приводит к тому, что некоторые опции не работают. Вы можете отключить его следующим образом:
xAxis: {
ordinal: false,
...
},
Демонстрационная версия: https://jsfiddle.net/BlackLabel/e0fsm41j/
Справочник по API: https://api.highcharts.com/highstock/xAxis.ordinal
$last = count($arr_nav) - 1;
foreach ($arr_nav as $i => $row)
{
$isFirst = ($i == 0);
$isLast = ($i == $last);
echo ... $row['name'] ... $row['url'] ...;
}
Если вы имеете в виду первую и последнюю запись массива, когда говорите о a.first и a.last, это выглядит следующим образом:
foreach ($arr_nav as $inner_array) {
echo reset($inner_array); //apple, orange, pear
echo end($inner_array); //My Apple, View All Oranges, A Pear
}
массивы в PHP имеют внутренний указатель, который вы можете манипулировать с сбросом , следующим , концом . Получение ключей / значений работает с ключом и текущим , но использование каждого может быть лучше во многих случаях ..
<?php
$first = reset($arr_nav); // Get the first element
$last = end($arr_nav); // Get the last element
// Ensure that we have a first element and that it's an array
if(is_array($first)) {
$first['class'] = 'first';
}
// Ensure we have a last element and that it differs from the first
if(is_array($last) && $last !== $first) {
$last['class'] = 'last';
}
Теперь вы можете просто повторить класс внутри вашего html-генератора. Возможно, потребуется какая-то проверка, чтобы убедиться, что класс установлен, или предоставить массиву пустой класс по умолчанию.