Сортировать массив звонков

1

У меня есть массив, который имеет следующие ячейки:

update_table('0', 'Real Klarin', '1', '2', '3', '4', '5', '6', '12', '8');
update_table('1', 'RAKoun', '1', '2', '3', '4', '5', '6', '11', '9');
update_table('2', 'Panklouviakos', '1', '2', '3', '4', '5', '6', '10', '10');
update_table('3', 'Ouza&Zabon', '1', '2', '3', '4', '5', '6', '9', '11');
update_table('4', 'ui48975', '1', '2', '3', '4', '5', '6', '8', '12');
update_table('5', 'Genia tou 98', '1', '2', '3', '4', '5', '6', '7', '13');

и строится в петле следующим образом:

$arrayOfCalls[] = "update_table('".($inc-1)."', '".$team."', '".$gp."', '".$w."', '".$d."', '".$l."', '".$gf."', '".$ga."', '".$gd."', '".$pts."');";

Я хотел бы отсортировать по последнему параметру update_table(), то есть $ pts. Итак, я прочитал этот вопрос: Сортируйте многомерный массив по значению, что подразумевает, что у меня должен быть многомерный массив, а это не то, что у меня есть. Я пробовал $arrayOfCalls['.$pts.'], Но это не имело никакого эффекта.

Что мне делать (обратите внимание, что я новичок в PHP)?

О, и в случае галстука, я хотел бы сортировать по $gd, но мы можем получить сортировку с помощью первого ключа, я думаю, что найду способ для второго!

  • 0
    @Memor-X Memor-X Я думаю, что понимаю, но я все еще не уверен. Можете ли вы опубликовать ответ, пожалуйста? :)
  • 0
    это пользовательская функция mysql? Я предлагаю просто создать многомерный массив со всеми значениями, отсортировать, затем через usort, как ответ на вопрос / вопрос, который вы связали, затем подготовить утверждение с помощью функции mysql и связать их вместо этого, включая использование простого foreach.
Показать ещё 1 комментарий
Теги:
object
arrays
multidimensional-array
sorting

1 ответ

1
Лучший ответ

учитывая, что update_table выглядит как функция, все передаваемые вами данные могут быть помещены в многомерный массив, например.

$updateArr = array('0' => array('Real Klarin', '1', '2', '3', '4', '5', '6', '12', '8'),
'1' => array('RAKoun', '1', '2', '3', '4', '5', '6', '11', '9'),
'2' => array('Panklouviakos', '1', '2', '3', '4', '5', '6', '10', '10'),
'3' => array('Ouza&Zabon', '1', '2', '3', '4', '5', '6', '9', '111'),
'4' => array('ui48975', '1', '2', '3', '4', '5', '6', '8', '12'),
'5' => array('Genia tou 98', '1', '2', '3', '4', '5', '6', '7', '13'));

а затем вы можете заполнить массив $arrayofCalls

$arrayOfCalls = array();
foreach($updateArr as $id => $values)
{
  array_push($arrayOfCalls,"update_table('".$id."', '".$values[0]."', '".$values[1]."', '".$values[2]."', '".$values[3]."', '".$values[4]."', '".$values[5]."', '".$values[6]."', '".$values[7]."', '".$values[8]."');");
}

таким образом, вы можете выполнять сортировку многомерных массивов перед циклом foreach. как вы можете видеть, $updateArr более или менее в том же формате, что и вопрос

  • 0
    Это приведет к ошибке, так как update_table() не является функцией PHP. Что именно вы хотите сделать в цикле?
  • 0
    @gsamaras, что именно ваш первый блок кода? это PHP или большая строка MySQL
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню