rewind
تابع rewind در SimpleXML یعنی «برگرداندن نوار». با آن، اشاره گر لیست برمی گردد اول عناصر. «اشاره گر (Pointer)» یعنی محل فعلی مرور. «ایتراتور (Iterator)» یعنی ابزاری برای قدم زدن بین موارد، مثل ورق زدن آلبوم.
تعریف و کاربرد تابع rewind
تابع rewind() اشاره گر SimpleXMLIterator را به اولین عنصر می برد. سپس می توانید همان عنصر را با current() بگیرید. این حرکت مثل بردن هد پخش به ابتدای آهنگ است.
سینتکس
SimpleXMLIterator::rewind();
گام های عملی با مثال
- متن XML را آماده کن؛ مثل یک یادداشت ساده.
- یک SimpleXMLIterator بساز؛ تا بتوانی بین تگ ها قدم بزنی.
- rewind() را صدا بزن؛ اشاره گر برود اول لیست.
- با
current()عنصر فعلی را بگیر و ببین چیست.
کد نمونه
<?php
$note = <<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Do not forget me this weekend!</body>
</note>
XML;
$xml = new SimpleXMLIterator($note);
// rewind to the first element
$xml->rewind();
// return current element
var_dump($xml->current());
?>
نکته: اگر قبلش با next() جلو رفته ای، تابع rewind دوباره تو را به اولین عنصر می آورد.
خطاهای رایج و راه حل سریع
- فکر می کنی
rewind()خروجی می دهد؛ اما «هیچ» برنمی گرداند. - بعد از
rewind()مستقیم چاپ می کنی؛ اولcurrent()را بگیر. - روی
SimpleXMLElementمعمولی صدا می زنی؛ بایدSimpleXMLIteratorباشد.
مطالعه بیشتر
برای مقایسه حرکت بین عناصر، این لینک ها را ببین:
- تابع next در SimpleXML
- current در SimpleXML
- تابع rewind — مرجع همین صفحه.
SimpleXMLIterator در PHP.net — مرجع رسمی کلاس.
Iterator Interface — منطق پیمایش استاندارد.
جمع بندی سریع
- rewind() چیزی برنمی گرداند.
- بعد از آن از
current()استفاده کن. - همیشه اول لیست را هدف می گیرد.
- برای قدم زدن،
next()را به کار ببر.