Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]php_self i szybsze rozwiązanie
ktosz
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 27.01.2009
Skąd: Warszawa, Mazowieckie

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


siema!

mam coś takiego:

  1. $php_self=$_SERVER['PHP_SELF'];
  2. if (!($php_self=='/strona.php' || $php_self=='/strona1.php' || $php_self=='/strona22.php' || $php_self=='/strona7.php' || $php_self=='/strona13.php' || $php_self=='/strona11.php' || $php_self=='/strona5.php' || $php_self=='/strona9.php' ))
  3. {
  4. echo "wyświetli to";
  5. }



i wyświetla mi się coś tam, jeśli użytkownik nie jest na której z podanych podstronach. Czy istnieje jakieś bardziej optymalne rozwiązanie? Bo mam w niektórych miejscach 30 takich || $php_self=='/strona11.php' itd.


proszę was o pomoc! dzieki dzieki!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nansss93
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 27.10.2015

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


Możesz sobie zrobić tablice i sprawdzać in_array
Go to the top of the page
+Quote Post
ktosz
post
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 27.01.2009
Skąd: Warszawa, Mazowieckie

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


Chodzi mi o to, czy będzie szybciej?
Go to the top of the page
+Quote Post
KsaR
post
Post #4





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. $pageNumbers = array(1, 5, 7, 9, 11, 13, 22); // numery stron.
  2. if (strpos($php_self, '/strona') !== false) {
  3. $pageNr = str_replace(array('/strona', '.php'), '', $php_self);
  4. if (!in_array($pageNr, $pageNumbers) && $php_self !== '/strona.php') {
  5. echo 'Wyświetli to';
  6. }
  7. }


__
Edit. 12:31 po przemyśleniu:
Mozesz do $pageNumbers dodac pusty string '', wraz z skasowaniem z if'a && $php_self !== '/strona.php'
Jak masz PHP 5.4+ mozesz zmienic array() na [] co oznacza to samo i jest także szybsze w ms oraz krótsze.

I jak sam twierdzisz w niektórych miejscach masz 30+ takich operacji porównania więc te kilka wbudowanych w php funkcji powinno być szybsze.

Ten post edytował KsaR 5.09.2016, 11:36:49


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Na pewnie bedzie bardziej czytelniej i łatwiejsze w uzyciu. Co do szybkosci to nawet jesli bedzie szybsze to o jedna petryliardowa sekundy wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 22:23