Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Tablica z 6 rekordami - jak zmienić kolejność
Apocalyptiq
post
Post #1





Grupa: Zarejestrowani
Postów: 230
Pomógł: 3
Dołączył: 8.01.2008

Ostrzeżenie: (10%)
X----


Mam taką tablicę:
$ustaw=array(0,1,2,3,4,5)
Jaką najłatwiej przesunąć wszystkie rekordy od 0 do 4 o jeden do przodu, a 5 wrzucić na początek? Tj. przerobić na taką tablicę:
array(5,0,1,2,3,4) - chodzi o wartości, nie klucze. I przy ponownym zastosowaniu tej zmiany tablica zmieniłaby się na: array(4,5,0,1,2,3). Napisałem do tego takie coś:
\\ pobieram ostatni rekord, aby go nie stracić podczas nadpisywania
$last=$ustaw[$serw][5];
\\ rekordom od 5 do 1 nadaje wartości ich poprzednikom - 5 - 4, 4 - 3 itp.
for($l=5;$l--;$l>0){
$ustaw[$serw][$l]=$ustaw[$serw][$l-1];}
\\ pierwszemu rekordowi nadaje ostatni, zapisany na początku skryptu, rekord
$ustaw[$serw][0]=$last;
I wszystko ok, oprócz wrzucenia czwórki na koniec - tworzy mi to tablicę (5,0,1,2,3,5).

Już ok - w pętli for najpierw dałem działanie, a potem warunek (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) Ale pętla i tak jakoś działała (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował Apocalyptiq 17.10.2008, 14:26:55
Go to the top of the page
+Quote Post
_olo_1984
post
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $ustaw = (isset($_SESSION['tab'])) ? $_SESSION['tab'] : array('0','1','2','3','4','5');
  3. $last=$ustaw[5];
  4. echo $last;
  5. for($l=5;$l>0;$l--){
  6.    $ustaw[$l]=$ustaw[$l-1];
  7. }
  8. $ustaw[0]=$last;
  9. $_SESSION['tab']=$ustaw;
  10. print_r($_SESSION['tab']);
  11. ?>


u mnie to poprawnie przestawia elementy. Po każdym odświerzeniu strony
Go to the top of the page
+Quote Post
Apocalyptiq
post
Post #3





Grupa: Zarejestrowani
Postów: 230
Pomógł: 3
Dołączył: 8.01.2008

Ostrzeżenie: (10%)
X----


Dzięki, ale muszę to zrobić bez sesji - ten kod występuje w skrypcie PHP, który wykonuje się poza stroną (odpalany przez CRONa) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Kombinujecie jak koń pod górkę:
  1. <?php
  2. $a = array(0,1,2,3,4,5);
  3.  
  4. print_r($a);
  5.  
  6.  
  7. print_r($a);
  8. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 22:33