PDA

View Full Version : تغییر نام متغیرها



Salazar.mi
پنج شنبه 12 دی 1398, 16:56 عصر
سلام من اینجا با این دستور


for ($i=38229; $i<38329; $i++)
{
${"myfile".$i} = fopen("1/Train/$i","r+") or die("Unable to open file!");
${"string".$i} = fread(${"myfile".$i}, filesize("1/Train/$i"));

${"a".$i} = preg_replace('/[0-9_?!.,><:";\\|}{\[\]\-=+@#$%^&*()~`؟ \' \/ \\\\ I II III IV ]/', ' ',${"string".$i});
${"b".$i} = preg_replace('/\b\w{1,3}\b/', ' ', ${"a".$i});
}

100 تا رشته string دارم
منتهی برای اینکه میخواستم بیام این ها را از فایل های با نام هایی از 38229 تا 38329 استفاده کنم (قسمت fopen تو آدرس دادنش)
اومدم حلقه for را هم از 38229 تا 38329 گذاشتم
الان رشته های string ای که برام ساخته شده $b38229 تا $b38329
اما الان لازم دارم که اینا این مدلی باشن
$b1 تا $b100
البته الان به $b38229 خارج از حلقه for دسترسی دارم
این امکانش هست که به $b1 تا $b100 هم خارج از حلقه for دسترسی داشته باشم
چندین راه را امتحان کردم جواب نداد
مثلا گفتم تو خود for یه for دیگه میذارم به ازای هر کدوم از b های قدیم یه b جدید میسازم
ولی نشد هر کاری کردم
ممنون میشم کمکم کنین

ASHKANLAEI
پنج شنبه 12 دی 1398, 17:05 عصر
شما حلقه رو از یک تا صد بزار موقع باز کردن فایل به جای i از i + 38228 استفاده کن.

Salazar.mi
پنج شنبه 12 دی 1398, 17:33 عصر
بی نهایت منونم جواب دادین
این مدلی منظورتونه


for ($i=1; $i<101; $i++)
{
${"myfile".$i} = fopen("1/Train/$i+38228","r+") or die("Unable to open file!");
${"string".$i} = fread(${"myfile".$i}, filesize("1/Train/$i"));

${"a".$i} = preg_replace('/[0-9_?!.,><:";\\|}{\[\]\-=+@#$%^&*()~`؟ \' \/ \\\\ I II III IV ]/', ' ',${"string".$i});
${"b".$i} = preg_replace('/\b\w{1,3}\b/', ' ', ${"a".$i});
}



شرمندم ولی ارور میده


Warning: fopen(1/Train/'1+38228'): failed to open stream: No such file or directory in C:\wamp64\www\nb2\1.php on line 6

خط 6 همون fopen

ASHKANLAEI
پنج شنبه 12 دی 1398, 17:42 عصر
نه شما داخل متن نوشتین باید این شکلی بنویسید:

"1/Train/" . ($i+38228)

Salazar.mi
پنج شنبه 12 دی 1398, 20:34 عصر
درست شد بی نهایت ممنونم
تشکرات ویيه
واقعا ممنون
سپاسگذارم