2016-06-25 21 views
0

Ich benutze jquery sortierbar, um einige Folien zu organisieren. Ich bin in der Lage, ein Array der IDs in ihrer neuen Reihenfolge zurückzugeben, aber ich habe Schwierigkeiten damit, diese im Controller zu durchlaufen, um die Sortierreihenfolge der Folien zu aktualisieren.Wie bekomme ich Werte von Array erstellt von toArray

Das Array wie folgt aussieht

[2016-06-25 02:09:53] local.INFO: array (
'order' => 
array (
0 => '2', 
1 => '3', 
2 => '1', 
3 => '4', 
4 => '5', 
5 => '6', 
6 => '7', 
7 => '8', 
8 => '9', 
9 => '10', 
10 => '11', 
11 => '12', 
12 => '13', 
13 => '14', 
14 => '15', 
15 => '16', 
16 => '17', 
17 => '18', 
18 => '19', 
19 => '20', 
20 => '21', 
21 => '22', 
), 
) 

So sind die IDs der Folien in der neuen Reihenfolge zurückgegeben werden, das ist das, was ich brauche, aber jetzt brauche ich eine foreach-Schleife zu tun, oder etwas, mit Diese ID-Nummer und aktualisieren Sie die Sortierreihenfolge. Jede Hilfe, wie man jeden Wert in einer foreach-Schleife ergreift (oder was auch immer der beste Weg ist, dies zu erreichen) wäre sehr willkommen.

+0

Sie möchten dieses Array im Controller benutzerdefiniert sortieren? – nextt1

+0

Ich möchte im Grunde eine foreach-Schleife, greifen Sie die Folie, die mit der ID übereinstimmt und aktualisieren Sie dann die Reihenfolge der Slides mit seiner Position (Schlüssel + 1) im Array. In dem Array über der ersten Folie, die ID 2 ist, würde in der Sortierreihenfolge zu Position 1 verschoben. –

Antwort

2

Nun, in diesem Fall benötigen Sie ein separates Array, um Ihr Ergebnis zu speichern.

$new_sorted_array = []; 
foreach($sorted_array as $key => $value) 
{ 
$new_sorted_array[$key + 1] = $value; 
} 

Oder Sie können auch nur ein Array verwenden.

$length = count($sorted_array); 
for($i=$length ; $i >= 0 ; $i--) 
{ 
if($i == 0) 
{ 
    $sorted_array[$i] = 0; //some value if needed to specify. 
} 
$sorted_array[$i] = $sorted_array[i-1]; 
} 
+0

Danke für die Antwort, ich werde das morgen wieder abholen, also werde ich sehen, ob ich das zur Arbeit bekommen kann. –

+0

Kein Problem. :) – nextt1

+0

Ich konnte es davon arbeiten, danke –

0

var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a-b});

1,5,10,25,40,100 wird über

http://www.w3schools.com/jsref/jsref_sort.asp das Ergebnis des Codes sein ist eine große Quelle für das Sortieren Arrays

EDIT: Hat das Laravel Teil nicht bemerkt. Es gibt eine Methode in Laravel namens sort und eine andere namens sort recursive. Laravel hat diesbezüglich einen guten Beispielcode. laravel.com/docs/5.1/helpers#method-array-sort

+0

Das ist in Javascript richtig? Ich muss dies in der Laravel-Steuerung tun, ich bin nicht sicher, wie man das anwendet. –

+0

Oh, tut mir leid. Ich dachte du meintest Javascript. Das tut mir leid. Versuche dies. Es gibt eine Methode in Laravel namens sort und eine andere namens sort recursive. Laravel hat diesbezüglich einen guten Beispielcode. https://laravel.com/docs/5.1/helpers#method-array-sort –

Verwandte Themen