تابع strtok()

پرسیده شده
فعالیت 1097 روز پیش
دیده شده 1892 بار
0

سلام

تابع strtok(" ") برای من قابل فهم نیست. در مثالی که استاد فرمودند این تابع token  را یکی جلو میبرد. اما چطور فقط یک پارامتر گرفته و چطور token را یکی جلو برده؟

فایل پیوست

7

مورد تایید اساتید

حذف شده

سلام

در اینجا باید به یک نکته توجه کنید که فقط برای بار اول نیاز است که رشته به تابع پاس داده شود، برای دفعات بعدی تنها مشخص کردن delimiter ها کافی می باشد، زیرا این تابع وضعیت رشته را درون خود دارد. یعنی این:

$token = strtok($string, ' ');

خروجی متغیر بالا با توجه به رشته پاس داده شده به آن کلمه 'Hello' می باشد. حال برای پیمایش داخل رشته از حلقه while استفاده کردند که با توجه به نکته بالا فقط کافیه delimiter آن مشخص گردد تا باقی کلمات چاپ شوند.

while ($token == true) {
    echo "$token<br />";
    $token = strtok(' ');
}

 

فایل پیوست

محمدرضا رحیمی

توسط

محمدرضا رحیمی

26 بهمن 98

0
حذف شده

در مرحله اول کد زیر رو داریم

$token = strtok($string, ' ');

این کد میاد و هر جا در رشته string فاصله میبینه، قبل از اون رو داخل token میریزه

 

اما در کد دوم درون حلقه این کد رو داریم

$token = strtok(' ');

ما در strtok مشخص نکردیم که فاصله رو از کدوم رشته بگیره! مواردی هم که در کد قبل در token میریزیم فاصله بعد از کلمات حذف شده. یعنی اولین کلمه (یا همان hello) وارد token شده

اینجا چه اتفاقی می افته؟

اصلا راهی هست که مرحله به مرحله اجرای کد رو بتونیم ببینیم و تحلیل کنیم؟

فایل پیوست

سیدرضا بازیار

توسط

سیدرضا بازیار

14 بهمن 99

حذف شده
سلام یه مثال برات گذاشتم ان شالله که به دردت بخوره . پایین صفحه
mostafa mehrjoo

7 اردیبهشت 00

0
حذف شده

سلام خیلی ساده اگ بخوام بگم به کد زیر نگاه کنید متوجه میشید :

<?php
$a = "Hello to PHP course";
$b = strtok($a , " ");
$c = strtok(" ");
$d = strtok(" ");
$e = strtok(" ");
echo "$b => $c => $d => $e";

خب حالا به جای اینکه من این همه زحمت بدم اینقدر کد بنویسم بهتره که از حلقه که استاد گفتند استفاده کنم

فایل پیوست

mostafa mehrjoo

توسط

mostafa mehrjoo

7 اردیبهشت 00