Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z porównywaniem string
Forum PHP.pl > Forum > Przedszkole
agata
witam,
mam problemik, potrzebuję porównać dwa stringi dokładnie 1:1.

Nie mogę znaleźć rozwiązania żeby działało to poprawnie.
  1. strrchr($ar[0]['user_perms'], $perm)


$ar to rola pobierana z bazy.

Jeśli mam rolę np. 'edit_user' to dostęp mają mieć użytkownicy tylko z taką rolą (edit_user).

W obecnej chwili działa to nawet jeśli użytkownik ma część stringu np. user, us, edit.

Proszę o pomoc jaką funkcję użyć aby porównywała cały ciąg znaków.
Wicepsik
  1. if($ar[0]['user_perms'] == $perm) echo 'oba stringi sa takie same';
agata
taka opcja się nie sprawdza ponieważ role w bazie są nadawane w postaci: rola|rola1|rola2.

Na razie zrobiłam to tak:
  1. IF(strstr($ar[0]['user_perms'], $perm))


i działa, ale nie wiem czy na pewno tak to może być, jak ktoś ma lepszy pomysł to proszę pisać.
zordon
użyłbym raczej strpos():
  1. if(strstr($ar[0]['user_perms'], $perm !== false)

można też rozbić ten twój string z bazy "rola|rola1|rola2"
za pomocą explode i później porównywać jako zwykłe stringi
agata
właśnie miałam strpos() na początku ale w ogóle to nie działa, tak jakby nie widział ról.

Na razie zostanę przy tym skoro działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.