Цикл foreach PHP через многомерный массив

В Highstock свойство ordinal для xAxis включено по умолчанию, что приводит к тому, что некоторые опции не работают. Вы можете отключить его следующим образом:

xAxis: {
    ordinal: false,
    ...
},

Демонстрационная версия: https://jsfiddle.net/BlackLabel/e0fsm41j/

Справочник по API: https://api.highcharts.com/highstock/xAxis.ordinal

30
задан 9 May 2009 в 08:46
поделиться

3 ответа

$last = count($arr_nav) - 1;

foreach ($arr_nav as $i => $row)
{
    $isFirst = ($i == 0);
    $isLast = ($i == $last);

    echo ... $row['name'] ... $row['url'] ...;
}
36
ответ дан 28 November 2019 в 00:08
поделиться

Если вы имеете в виду первую и последнюю запись массива, когда говорите о 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 имеют внутренний указатель, который вы можете манипулировать с сбросом , следующим , концом . Получение ключей / значений работает с ключом и текущим , но использование каждого может быть лучше во многих случаях ..

2
ответ дан 28 November 2019 в 00:08
поделиться
<?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-генератора. Возможно, потребуется какая-то проверка, чтобы убедиться, что класс установлен, или предоставить массиву пустой класс по умолчанию.

0
ответ дан 28 November 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: