![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Męczę się z tym już od paru godzin, aż mnie głowa rozbolała.
Mam arraya:
Zawartość arraya chcę przeszukiwać pod kątem występowania odpowiednich wartości, a kiedy je znajdę - chcę je usuwać (unset). Wszystko jest fajnie do momentu, kiedy chcę wyszukać wartość która jest pierwsza na liście, czyli ma indeks 0 - zero. Niestety, mój problem leży w tym że już kompletnie mi się namieszało z typami i operatorami, tak iż zupełnie nie wiem jak testować wynik działania array_search. Dotąd robiłem to tak:
I niestety zachowuje się to tak, jakby pomijał pierwszą wartość. Wiem że nie pomija i że błąd jest mój. Prawdopodobnie problem leży w mieszaniu przeze mnie znaczenia ZERO i FALSE, proszę o podpowiedź gdzie robię konkretnie błąd i dlaczego. Ten post edytował lukasz_matysek 3.11.2011, 12:04:38 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Rozumiem, że manual to narzędzie zbyt trudne do ogarnięcia?
http://pl2.php.net/array_search Cytat This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie drogi moderatorze, manual to narzędzie do którego zajrzałem w pierwszym rzędzie.
Niestety, przeglądając posty początkujących na przedszkolu, doszedłem do wniosku że mogę spodziewać się takiej właśnie odpowiedzi. Mimo wszystko dziękuję. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pozostawiam rozwiązanie dla innych osób, które by go poszukiwały
Otóż w tej konkretnej sytuacji najwygodniej, moim zdaniem, najpierw sprawdzić czy wartość zwracana przez array_search w ogóle jest numeryczna - za pomocą is_numeric:
Powyższy sposób całkowicie rozwiązał przedstawiony problem. Jeżeli nie ma w nim błędów merytorycznych - proponuję zamknąć temat. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie wszystkie klucze w tablicach są numeryczne.
jest najbardziej optymalnym rozwiązaniem -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
oczywiście zgadzam się z powyższym, przetestuję również podane przez Ciebie rozwiązanie. Zgodnie z tym co napisałem wyżej, podany przykład zadziałał w moim konkretnym przypadku, gdzie używałem wyłącznie kluczy numerycznych, co zresztą widać we wstawionym na początku arrayu. Dziękuję jednak za dopełnienie tematu i wskazanie drogi.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Dziękuję jednak za dopełnienie tematu "Drogi moderator" (jak to ująłeś) już na samym początku w pierwszym poście dopełnił temat podając ci linka i cytując:Cytat This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function. A ty zamiast to przeczytać i się nad tym zastanowić dłużej niż 5 sekund, wylałeś swoje żale jak to niedobrzy ludzie Cię do manuala odsyłają i że tylko tego mogłeś się spodziewać. Zamiast następnym razem tak marudzić to weź jednak skorzystaj z manuala i z rad jakie ci dają bardziej doświadczeni bo naprawdę nie robią tego by się nad Tobą biednym pastwić.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 09:53 |