Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z define i echo
Forum PHP.pl > Forum > Przedszkole
JarCzeS
Witam.
mam zdefiniowane kilka stalych za pomoca funkcji define np.
stala1=1
stala2=2
stala3=3
stala4=4

w aplikacji mam
Kod
print  stala1;
     print  stala2;
     print  stala3;
     print  stala4;


jezeli wszystkie stale sa zdefiniowane to wszystko dziala pieknie problem polega na tym ze jezeli usune sobie z cmsa np stala3
to w aplikacji zamiast pustej linijki czy cos dostaje wynik:

12stala34

a chcialbym dostac wynik: 124

i z print i z echo dostaje to samo

stalych mam duzo wiec nie wchodza w gre ify przy kazdym princie
l0ud
Stałych nie powinno używać się w taki sposób, że mogą nie istnieć. Tak czy siak - w tym przypadku - użyj warunku z defined('stala2') przed wyświetleniem

http://pl2.php.net/manual/pl/function.defined.php
JarCzeS
Cytat(l0ud @ 6.10.2008, 18:13:18 ) *
Stałych nie powinno używać się w taki sposób, że mogą nie istnieć. Tak czy siak - w tym przypadku - użyj warunku z defined('stala2') przed wyświetleniem

http://pl2.php.net/manual/pl/function.defined.php


ok.
w jaki sposob mam definiowac w takim razie stale teksty wykorzystywane na stronie zeby uniknac tego problemu?
barthpl
Zmienne globalne lub wykorzystać statyczną klasę.
  1. <?php
  2. // w pliku z definicjami: definicje.php;
  3. $language['stala1'] = '1';
  4. $language['stala2'] = '2';
  5. $language['stala3'] = '3';
  6. $language['stala4'] = '4';
  7. ?>
a następnie
  1. <?php
  2. // w pliku z gdzie się wykorzystuje;
  3. include( 'definicje.php' );
  4. global $language;
  5.  
  6. echo $language['stala1'];
  7. echo $language['stala2'];
  8. echo $language['stala3'];
  9. echo $language['stala4'];
  10. ?>

Lub jak wspomniane wcześniej stworzyć i wykorzystać jakąś statyczną klasę... ...ale to już wyższa szkoła jazdy ;)
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.