2015-12-09 3 views
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. Итак, я прочитал этот вопрос: Sort Multi-dimensional Array by Value, что подразумевает, что у меня должен быть многомерный массив, а это не то, что у меня есть. Я пробовал $arrayOfCalls['.$pts.'], но это не имело никакого эффекта.

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

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

+0

@ Memor-X Думаю, я понимаю, но я все еще не уверен. Можете ли вы отправить ответ, пожалуйста? :) – gsamaras

+0

- то, что пользовательская функция mysql? мое предложение - просто создать многомерный массив со всеми значениями, сортировать, затем через usort, как и ответ/вопрос, который вы связали, затем подготовить инструкцию с помощью своей функции mysql и связать их, в том числе использовать простой foreach – Ghost

+0

@Ghost это сводится к тому, что они просто являются значениями из файла. У меня возникают проблемы с созданием массивов, я все еще пытаюсь, и если у меня есть что-то хорошее, я буду обновлять .. – gsamaras

ответ

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]."');"); 
} 

Таким образом, вы можете сделать свой multi-dimensional array sorting до вашего foreach цикла. как вы можете видеть $updateArr более или менее в том же формате, что и на картинке

+0

Это вызовет ошибку, так как 'update_table()' не является функцией PHP. Что именно вы хотите сделать в цикле? – gsamaras

+0

@ gsamaras Что такое ваш первый кодовый блок? это PHP или большая строка MySQL –

+0

Это ячейки моего массива. Они просто струны, извините, не упоминая ранее! – gsamaras

Смежные вопросы