Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z pętlą .
mariuszg
post
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 22.06.2006

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


hej

Nie mogę sobie poradzić z przerobieniem poniższego skryptu w pętle.

Chodzi o to ze jeśli wartość w tablicy będzie taka sama jak w zmiennej id to zmienna widok będzie taka jak pozycja w tablicy np:
$tablica[0] = 88 to widok = 0
jeczcze jedne przykład
$tablica[1] = 99 to widok = 1

  1. <?php
  2. if ($tablica[0] == $id) {
  3. $widok = 0; 
  4. } 
  5. if ($tablica[1] == $id ){
  6. $widok = 1; 
  7. } 
  8. if ($tablica[2] == $id) {
  9. $widok = 2; 
  10. } 
  11. if ($tablica[3] == $id) {
  12. $widok = 3; 
  13. } 
  14.  
  15. itd...
  16. ?>


bardzo proszę o pomoc
Go to the top of the page
+Quote Post
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Ha! Myślałeś, że wszyscy śpią pewnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Nie wiem czy dobrze zrozumiałem:

  1. <?php
  2. $array = range(0, 100); // przykladowa tablica
  3. // echo '<pre>';
  4. // var_export($array);
  5. // echo '</pre>';
  6.  
  7. $id = 14;
  8.  
  9. foreach($array as $key => $value)
  10. {
  11. if( $key == 14 ) {
  12. $widok = $key;
  13. }
  14. }
  15. echo $widok;
  16. ?>


(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
mariuszg
post
Post #3





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 22.06.2006

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


Nie sądziłem że ktoś nie śpi.

Nie bardzo chce mi działać.
  1. <?
  2.  
  3. $id = 3;
  4.  
  5. $tablica[0] = 9;
  6. $tablica[1] = 4;
  7. $tablica[2] = 3; // to mnie interesuje czyli 2
  8. $tablica[3] = 6;// a to pokazuje błędnie 6
  9.  
  10.  
  11. foreach($tablica as $key => $value){
  12.  
  13. if( $key == $id ) {
  14. $widok = $value;
  15. }
  16. }
  17.  
  18. echo $widok ;
  19.  
  20.  
  21. ?>


w tym wypadki widok = 6 a powinien być 2

myślę że działa odwrotnie

proszę o pomoc

dzięki
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Jeśli chodzi o wyciągnięcie klucza to wystarczy zmienić:

  1. <?php
  2. // ...
  3. $widok = $key;
  4. ?>


A Tobie chodzi o wyciągnięcie poprzedniej wartości tablicy tak ?

PS. foreach" title="Zobacz w manualu PHP" target="_manual, może Ci się przydać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

~edit
Takie rozwiązanie będzie dużo lepsze:

  1. <?php
  2. $id = 3;
  3.  
  4. $tablica[0] = 9;
  5. $tablica[1] = 4;
  6. $tablica[2] = 3; // to mnie interesuje czyli 2
  7. $tablica[3] = 6;// a to pokazuje błędnie 6
  8.  
  9. if ( key_exists($id, $tablica) ) {
  10. $wynik = $id;
  11. }
  12. echo $wynik;
  13.  
  14. ?>


Dobranoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował strife 12.05.2007, 06:17:17
Go to the top of the page
+Quote Post
mariuszg
post
Post #5





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 22.06.2006

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


Działa

  1. <?
  2. $id = 3;
  3.  
  4. $tablica[0] = 9;
  5. $tablica[1] = 4;
  6. $tablica[2] = 3;
  7. $tablica[3] = 6;
  8.  
  9. foreach($tablica as $key => $value){
  10.  
  11. if( $value == $id ) {
  12. $widok = $key;
  13. }
  14.  
  15. }
  16. echo $widok ;
  17.  
  18. ?>


Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
No mogę iść spać, ale super (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Pozdrawiam
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: 22.08.2025 - 19:12