PDA

View Full Version : مشکل با php 5.5



resatak
پنج شنبه 03 مهر 1393, 11:16 صبح
سلام دوستان این قسمت از کد من تو php 5.2 به خوبی کار میکنه ولی تو php5.5 ارور
میدهCall-time pass-by-reference has been removed -


$ITOG=array();

$ex=explode("\n",$TEXT);






foreach ($ex as $line)


{


if (strlen($line)<10){continue;}


if (($line[0]=='#') || ($line[0]=='/' && $line[1]=='/')) {continue;}


$id=sizeof($ITOG);


$ITOG[$id]['_raw']=$line;


$this->analyze($id,&$ITOG);


}



هر جا خوندم نوشتن &$ITOG رو به $ITOG تغییر بدی حل میشه
درست هم هستش ارور نمی ده ولی دیگه اسکریپت من کار نمیکنه
دوستان می تونین راهنمایی کنین چه جوری می تونم تغییرش بدم که نه ارور بده و هم کار بکنه

resatak
پنج شنبه 03 مهر 1393, 11:41 صبح
کسی از دوستان نمی تونه کمک کنه؟

2undercover
پنج شنبه 03 مهر 1393, 12:01 عصر
توی نسخه های جدید PHP شما نمی تونید آرگومان هارو هنگام فراخوانی تابع یا متد به صورت Passed By Refrence ارسال کنید بلکه باید هنگام تعریف تابع یا متد مشخص کنید که یک پارامتر Passed By Refrence باشه یا نه. یعنی در واقع شما باید متغیر $ITOG رو به صورت معمولی به متد analyze ارسال کنید و متد analyze رو تغییر بدهید و فرضا به این شکل در بیارید:



public function analyze($id, &$ITOG) {
}

resatak
پنج شنبه 03 مهر 1393, 12:47 عصر
ممنون از کمکتون تغییر دادم به این شکل
public function analyze(&$a,$b)
ولی بازم کار نکرد

2undercover
پنج شنبه 03 مهر 1393, 13:45 عصر
خوب شما باید پارامتر دوم رو به این شکل در می آوردید با توجه به کد بالا:



public function analyze($a, &$b)

resatak
پنج شنبه 03 مهر 1393, 15:21 عصر
حق با شمابود مشکل از جایه دیگه بود
خیلی منون از لطفتتون