Ищу помощи, если это возможно.
$pilotsids — это массив идентификаторов. merged — это таблица, содержащая данные. Для каждого идентификатора пилота я хотел бы создать массив значений newrat, которые я собираюсь использовать позже для заполнения диаграммы. Индекс цикла for должен быть добавлен к имени каждого массива следующим образом:
$data0[]
$data1[]
$data2[]...etc
Это работает, когда я делаю это отдельно:
$result = $mysqli->query("select newrat from merged where pilotid = $pilotids[0] order by mid asc");
while($row = mysqli_fetch_assoc($result)) {
$data0[] = $row['newrat'];
}
$result = $mysqli->query("select newrat from merged where pilotid = '$pilotids[1]' order by mid asc");
while($row = mysqli_fetch_assoc($result)) {
$data1[] = $row['newrat'];
}
$result = $mysqli->query("select newrat from merged where pilotid = '$pilotids[2]' order by mid asc");
while($row = mysqli_fetch_assoc($result)) {
$data2[] = $row['newrat'];
}
Это не так, если я попытаюсь выполнить автоматическую итерацию, скажем, 10 раз:
for($i=0; $i < 10; $i++) {
$result = $mysqli->query("select newrat from merged where pilotid = $pilotids[$i] order by mid asc");
while($row = mysqli_fetch_assoc($result)) {
${$data.$i}[] = $row['newrat'];
}
}
Вы можете попробовать так:
$data = [];
for($i=0; $i < 10; $i++) {
$result = $mysqli->query("select newrat from merged where pilotid = $pilotids[$i] order by mid asc");
while($row = mysqli_fetch_assoc($result)) {
$data[$i][] = $row['newrat'];
}
}
Как видите, я использую двумерный массив, который определен вне цикла.
Спасибо. Выведет ли приведенный выше индекс в имени массива, например $data0, $data1, $data2...etc
? Мне нужно, чтобы диаграмма распознавала, какой набор данных анализировать. Я все равно попробовал, ошибок нет, но график не подхватил.
На выходе будет один массив, содержащий несколько массивов.
Огромное спасибо. Только ваш последний комментарий заставил меня понять, что лучше использовать двумерный массив. Я пытался буквально распечатать индекс в имени массива.
Да, вы пытались использовать отдельные переменные с индексом в нем. Однако в многомерном массиве это проще, особенно если у вас есть динамическое количество (или большое количество) записей.
Использование имен переменных, таких как
$data0
, обычно лучше обрабатывается массивом - в вашем случае двумерным массивом. Что-то вроде$data[0][]
при добавлении новых данных.