Ahoj, v poli mam ulozene napriklad tyto hodnoty:
$pole[0]=21
$pole[1]=5
$pole[2]=9
$pole[3]=8
$pole[4]=11
Z $_GET zídkám například 8 a potrebuji nasstavit ukazatel pole na tu hodnotu
8, abych pote mohl pouzit prev($pole) a next($pole) Jak to udelat? Predem dekuji za vase odpovedi.
Fórum › PHP
Ukazatel pole
Nie som si istý, či som to správne pochopil, ale ak áno, potom:
current prvok v poli nemôžeš nastavovať priamo. Vieš spraviť iba reset, čím sa dostaneš na začiatok a potom sa pomocou prev/next posúvaš. Takže prvé čo spravíš je reset($pole) a potom sa opakovane posúvaš po prvokch až kým nenájdeš ten ktorý chceš a vtedy sa prestaneš posúvať - pole ostane nastavené na tom mieste. Tiež je potrebné zisťovať či už niesi na konci poľa pre prípad, že by tam ten prvok nebol...
reset($pole);
while(
current($pole)!==$_GET['current'] && next($pole)!==false
) ;
alebo ak sa ti viac pači for..for (
reset($pole);
current($pole)!==false && current($pole)!==$_GET['current'];
next($pole)
) ;
po vykonani niektoreho z tychto kódov máš pole nastavené na pozícii prvku v $_GET['current'], alebo - ked tam ten prvok nie je tak na konci pola.
Ja však dosť nerozumiem, na čo je to dobré, keďže existuje množstvo jednoduchších spôsobov pre prístup k prvkom... Takže ak popíšeš kde to potrebuješ, skúsime nájsť jednoduchšie riešenie...
Mam fotogalerii apotrebuju prepinat dalsi nebo predchozi fotku. Jiank moc dekuji.
No mam tento kod:
reset($fotky);
while(current($fotky)!==$_GET["id"] && next($fotky)!==false);
<div id="last"><a href="<?php echo "fotky.php?id=".prev($fotky)."&idkat=".$_GET["idkat"]; ?>"><img src="last.png" /></a></div>
<div id="next"><a href="<?php echo "fotky.php?id=".next($fotky)."&idkat=".$_GET["idkat"]; ?>"><img src="next.png" /></a></div>
a problem je v tom ze se mi ukazatel posune nejdrive o jedno dozadu a potom o jedno dopredu, takze dopredu nefunguje a zustava na stejnem miste. Jak udelat next 2x?
<div id="next"><a href="<?php next($fotky); echo "fotky.php?id=".next($fotky)."&i...
Stale nerozumiem prečo to robíš tak krkolomne, nebolo by jednoduchšie predávať getom miesto hodnoty rovno index poľa?
btw oposit od next != last, ale previous, last je niečo iné...
To Figa : jak jde menit jen index pole?
budes mit treba:
$pole = array( 'neco.jpg','dalsi.jpg','treti.jpg','posledni.jpg' );
tak posles scriptu ze chces prvni:
neco?obr=1
a vevnitr jen echo $pole[$_GET['obr']]; // to vypise jen nazev... jinak <img ...>
no a predchudce mas $_GET['obr']-1, nasledovnika $_GET['obr']+1 samo lze jeste kontrolovat jestli takovej index v poli vubec je
pak osetrit ten GET aby tam neslo zadat nic krom cisla a pripadne nahradit za 1
array_search()
ne :) ale je to jedna z cest. nekdy je lepsi porovnavat klice nez hodnoty. :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Ukazatel na pole struktur — založil gogulux
Ukazatel na viacrozmerne pole — založil Dodo
Jak vypsat ukazatel na pole do labelu — založil Didika
Jak získat ukazatel na pole umístěné v paměti programu — založil hlucheucho
Moderátoři diskuze