Jump to content
php.lv forumi

Viltīga kļūda


hmnc

Recommended Posts

skriptā metas kļūda.

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in

 

skripta paraudziņš (apgraizīts ļoti):

viena no funkcijām klasē:

function get_n ( $arr, $ret=null ) {
$ret++;
$this->get_n ( $arr, &$ret);
return ($ret);
}

 

darba dators: WinXP, php 4.3.9

sterveris: OpenBSD, php 4.3.10

 

darba datorā nekas tāds neparādās. sterverī gan.

pietam parādās errors pat nepalaižot pašu klasi.

 

kā tikt vaļā? :)

Link to comment
Share on other sites

Tā jau nav gļūda, bet gan warnings.

Jaunākās php versijās padošana pēc adreses jādefinē tā, ka tā & zīme netiek rakstīta izsaucošajā kodā, bet gan pašā funkcijas definīcijā (kas arī teikts tai angliskajā tekstā!):

function get_n ( $arr, &$ret=null ) {
$ret++;
$this->get_n ( $arr, $ret);
return ($ret);
}

Link to comment
Share on other sites

a vo ne sūda. pirmajā reizē kad tiek izsaukta tā funkcija, bļauj, ka missing argument (loģiski, ka, jo nav ko returnot), bet ja padodam tukšu argumentu ('') ta brēc, ka nevar padot argumentu by reference.

Link to comment
Share on other sites

×
×
  • Create New...