Я много дней боролся с php-массивом. Каким-то образом я не получаю его, чтобы сортировать $ my_array.борется за дни, чтобы отсортировать массив php
То, что я хотел бы достичь, это:
- чтения данных из MySQL таблицы [который работает]
- место данные в my_array [который работает]
- вычислить значение, основанное на данных, которые стол и добавить, что в my_array [который работает]
- сортировки массива на «вычисленного» значение на шаге 3. [удалось этот]
I удалось 1 до 3, но не шаг 4.
ниже упрощен PHP кода
//table contents in mysql table
//---------------------
//alfa, 5, 2
//beta, 18, 3
//gamma, 7, 2
$q="SELECT * FROM model";
$result=mysql_query($q);
$total=mysql_numrows($result);
$i=0;
while ($i<$total)
{
$modelname=mysql_result($status,$i,"modelname");
$volume=mysql_result($result,$i,"volume");
$force=mysql_result($result,$i,"force");
$my_array[$i][0]=$modelname;
$my_array[$i][1]=$volume;
$my_array[$i][2]=$force;
//below the calculated value what I like to sort on later in the code
$my_array[$i][3]=$value1/$value2; /results are values like 2.5, 6, 3.5
$i++;
}
// contents of $my_array so far:
//$i, $modelname, $volume, $force, calculated result
//---------------------
// 0, alfa, 5, 2, 2.5
// 1, beta, 18, 3, 6
// 2, gamma, 7, 2, 3.5
// now how to sort my_array on the last element [3]?
// must I use sort, usort and how to sort on this fourth value?
//epected result in my_array (sort ascending on the last element)
//first element is the index in the array (used with $i)
//---------------------
//0, alfa, 5, 2, 2.5
//1, gamma, 7, 2, 3.5
//2, beta, 18, 3, 6
Извлеките весь этот код MySQL, пожалуйста, и замените его примерами массивов, которые вы создаете вручную. Это означало бы, что мы могли бы запустить ваш код на наших машинах и протестировать исправление, что вы хотите. – TwoStraws
Почему вы не сортируете данные по запросу MySQL? – splash58
splash58: потому что то, что мне нравится сортировать, не является частью данных в базе данных. Вычисление является обязательным до его сортировки. – incognito