PDA

View Full Version : مشکل:اشاره گر ها در php



mhabat
سه شنبه 11 تیر 1392, 00:21 صبح
سلام.
در بعضی زبان ها مثل c++ ما میتونیم از اشاره گر ها استفاده کنیم.
اما نمی دونم چطور میشه در php استفاده کرد!
حالا مشکل: من می خوام متن یک فایل رو بخونم بعدش از یک حرف خاص شروع کنه تا اونجا یی که گفتم(از اونجا
منظورم تا کارکتر موردنظر) برام دریک آرایه ذخیره کنه.

برای اینکار باید از چه تابعی استفاده کنم.
اگر میشه ساده ترین راه باشه.

MMSHFE
سه شنبه 11 تیر 1392, 08:18 صبح
این موضوع ربطی به اشاره گر نداره ولی بهرحال، اشاره گر توی PHP با کمک کارکتر & تعریف میشه و اگه مثلاً بنویسیم ;a = &$b$ اونوقت a$ به همون خونه از حافظه اشاره میکنه که b$ اشاره میکنه و با تغییر هرکدوم، اون یکی دیگه هم تغییر میکنه ولی اگه منظورتون از اشاره گر، اونی هست که توی ++C با عملگر * تعریف میشه و با افزایش یا کاهش اون، میشه توی خونه های حافظه حرکت کرد، خیر چنین کاری توی PHP قابل انجام نیست چون اصولاً بهش نیازی هم نداریم. مشکل شما هم با کمک دستورات fopen و fseek و ftell و fgetc و fclose قابل حله.


<?php
function ReadCharsIntoArray($filename, $start, $end) {
$result = array();
if(file_exists($filename)) {
$fp = fopen($filename, 'r');
if($fp) {
for($i = $start; !feof($fp) && $i <= $end; $i++) {
$result[] = fgetc($fp);
}
fclose($fp);
}
}
return $result;
}
?>

mhabat
سه شنبه 11 تیر 1392, 14:19 عصر
سلام آقای شهرکی ممنون.
آقا می دونم قصدتون از حلقه for رو سورس بالا چه بود ولی نمی تونم درکش کنم.
چون پارامتر هایی که من برای send و start می فرستم از نوع char هستند مثلا هردو پارامتر دبل کوتیشن هستند چون می خوام کارکتر های بین دو دبل کوتیشن رو برام ذخیره کنه.
حالا حلقه for میتونه با مقادیر char کنه؟ خودتونم میگید که خونه خونه نمیشه در php گشت!
امید وارم سوالمو درک کردیه باشین

MMSHFE
سه شنبه 11 تیر 1392, 14:44 عصر
منظورتون اینه که از محل یافتن یک کارکتر شروع کنه تا زمانی که به کارکتر پایان برسه؟ حلقه for با هر نوع مقادیر قابل شمارش میتونه کار کنه و از اونجا که کارکتر هم در سیستم بصورت بایت ذخیره میشه، قابل شمارش هست.