![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Przyglądam się strukturze funkcji preg_match(): mixed preg_match ( string pattern, string subject [, array &matches [, int flags [, int offset]]] ) Jak widać tablica &matches jest niewymaganym argumentem, ale jeżeli wpiszemy tam nazwę dowolnej zmiennej, jej wartością będzie przekazana przez referencje właśnie ta tablica z atomami. Zainteresowałem się tym i sam stworzyłem z rozpędu kilka funkcji np.: Kod <?php Działało, tak jak się spodziewałem. Jeżeli wysłałem to na zdalny serwer (netlook.pl), paser wyświetlił, że nie spodziewał się tego równasię po &$count, tylko od razu nawiasika.function count_sql($table,$parameters = FALSE,&$count = FALSE) { $count = mysql_num_rows(mysql_query('SELECT 1 FROM `'.PREFIX.$table.'` '.$parameters)); return $count; } ?> Patrzyłem rozdział XXI - http://www.php.net/manual/pl/language.refe...erences.whatare i nie znalazłem nigdzie takiego przykładu, który prezentowałby taki argument jako niewymagany. Więc, czy jest możliwe zrobienie funkcji przekazującej coś przez referencje z argumentem niewymaganym, jaka to możliwość? A jeżeli nie ma, to czemu u mnie, na raczej domyślnych (nie na żadnym krasnalu itp) ustawieniach php 5 działa? Ten post edytował Krzychur 8.06.2005, 13:55:30 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Nie mozesz przekazywac przez referencje stalej FALSE, referencje mozesz robic tylko do zmiennych.
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dobrze, to możesz powiedzieć mi, czy i jak mogę zrobić, aby taki argument nie był wymagany.
I jeszcze dlaczego na mojej maszynie nie pojawia sie zaden błąd? edycja http://www.webinside.pl/php/artykuly/137 na samym dole wersja na zdalnym serwerze: 4.3.9 lub .8 ![]() Pytanie: czy na wcześniejszych wersjach mogę (dosłownie nie, ale jakoś inaczej) zrobić tak jak podano w artykule linijka function referencja(&$ref = FALSE) { działała? Ten post edytował Krzychur 9.06.2005, 16:32:57 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:45 |