Как настроить массив для хранения нулей для пустых местоположений, чтобы графики (Highcharts) могли правильно их форматировать? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь заставить работать мой график Highcharts. Причина, по которой у меня сейчас так много проблем с этим, заключается в том, что я должен сохранять программу адаптируемой к будущим изменениям, когда речь идет о моих столбцах (названных вопросов с 1 по 12).

Цель довольно проста, мне просто нужно схватить проблемы между часами 1-12 в течение определенного периода времени, а затем создать график.

The Table Layout.

This is how the Graph comes out now.

Моя идея заключается в том, что я должен создать представление, которое упорядочивает требуемую информацию, потому что в этой таблице есть гораздо больше, что я пропустил, а затем создать SQL для организации данных оттуда. Что, я понимаю, может быть излишним, но я стажер, и мой начальник, вероятно, сделал это, чтобы сделать его проще для меня.

The View I'm calling on.

Есть 4 разных места, где мне нужно использовать SQL, чтобы таблица работала.

  • Ось X
  • Номера дневной смены
  • Номера качелей
  • номера ночной смены

This is what its supposed to look like with this information.

Так что для моего кода X-Axis, он прекрасно работает только для вызова имен.

 xAxis: {               
categories: [
 <?php
 foreach ($xAxisresult as $Xrow) {
    echo "'" . $Xrow['IssueName'] . "'" .  ',';
}
?>
]

Я считаю, что операторы SQL Day / Swing / Grave должны быть похожими, поэтому я просто сосредоточусь на одном. Но здесь проблема начинается с того, как я его настроил. Я попытался выполнить оператор If, где я сравнил два установленных мною массива и попытался сопоставить столбцы IssueName.

name: 'Day',
        data: [
            <?php
foreach ($Dresult as $Drow) {
    if ($Xrow['IssueName'] == $Drow['IssueName']){ 
    echo $Drow['Issues'] . ',';
}
else{
    echo $Drow['Issues'] . ',';
}
}

Вы, ребята, скорее всего, видите здесь много чего плохого. Но мне нужно создать цикл или массив, который обнаружит, что если в массиве есть пустое место, и выведите 0, чтобы данные оставались правильными.

Извините за стену текста, я просто хотел дать вам, ребята, как можно больше информации.

1 Ответ

0 голосов
/ 11 сентября 2018

Чтобы ответить на ваш вопрос, как создать массив с нулевыми значениями и объединить его с массивом данных (я полагаю).

Вы можете использовать array_fill, чтобы создать массив с нулями, и использовать array_replace, чтобы заменить массив данных.

$arr = array_fill(0, 10, 0); //[0,0,0,0,0,0,0,0,0,0]

$data = [2 => 15, 5 =>10, 7 => 16]; // your data

$new = array_replace($arr, $data);
var_dump($new); // [0,0,15,0,0,10,0,16,0,0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...