эй, ребята, это даже возможно сделать в php
<?php $sectorcount = $row_SectorCount['COUNT(*)']; //number of rows in database for ($i = 1; $i <= $sectorcount; $i++) { ${spendingname . $i}= array(); ${spendingpercent . $i} = array(); ${spendingid . $i} = array(); mysql_select_db($database_conn2, $conn2); $query_Spending = "SELECT CONCAT(spending.SectorID, spending.ExpenditureID) AS 'SpendingID', expenditure.ExpenditureName, spending.SpendingPercent, spending.SectorID FROM spending INNER JOIN expenditure ON spending.ExpenditureID = expenditure.ExpenditureID WHERE spending.SectorID = ".$i; $Spending = mysql_query($query_Spending, $conn2) or die(mysql_error()); $totalRows_Spending = mysql_num_rows($Spending); while($row_Spending = mysql_fetch_assoc($Spending)) { ${spendingname.$i}[] = $row_Spending['ExpenditureName']; ${spendingpercent.$i}[] = $row_Spending['SpendingPercent']; ${spendingid.$i}[]= $row_Spending['SpendingID']; } mysql_free_result($Spending); }
Я планировал использовать это здесь в этом контексте. имея массив для извлечения значений с использованием предложения where и отображения их отдельно
Это то, что вы ищете:
for ($i = 0; $i < 14; $i++) { ${'name' . $i} = $i; } echo $name3;
Но вы должны просто использовать массив:
$name = array(); for ($i = 0; $i < 14; $i++) { $name[$i] = $i; } echo $name[3];
Если вам нужен массив в массиве, продолжайте и делайте это тоже. Если вам нужно больше вложенных массивов, чем это, вы, вероятно, должны использовать класс как-то, а не все вложенные массивы.
Во-первых, я предлагаю использовать массив вместо этого. Переменные переменные не предназначены для использования как это.
Тем не менее, можно получить доступ к ${$name.$i}
или, возможно, сделать что-то вроде
$varname = $name.$i; $$varname = 1; // or read from $$varname
Используйте массив. Для этого они и есть.
Как сказал Колинк, для этого нужен массив!
Однако то, что вы просите, может быть достигнуто:
Подробнее здесь
В основном,
<?php for($i=0; $i<=13; $i++){ $varname = "name" . $i; $$varname=$i; } echo $name1; // 1 ?>
Он не даст желаемого результата 1, а даст 13
В чем причина такого. вы можете сделать array
доступ позже к использованию
for($i=0; $i<=13; $i++) { $name[$i]=$i; } echo $name[1]; *//it will echo 1