পরিচয়
যাও কোডের একটি নির্দিষ্ট স্থানে প্রোগ্রামের প্রবাহ পাঠাতে স্টেটমেন্ট ব্যবহার করা হয়। অবস্থান একটি ব্যবহারকারী সংজ্ঞায়িত লেবেল দ্বারা নির্দিষ্ট করা হয়. সাধারণত, goto স্টেটমেন্ট স্ক্রিপ্টে শর্তসাপেক্ষ অভিব্যক্তির অংশ হিসাবে আসে যেমন if, else বা ক্ষেত্রে (সুইচ কনস্ট্রাক্টে)
সিনট্যাক্স
statement1; statement2; if (expression) goto label1; statement3; label1: statement4;
স্টেটমেন্ট2 এর পরে, যদি এক্সপ্রেশনটি (if স্টেটমেন্টের অংশ হিসাবে) সত্য হয়, প্রোগ্রাম প্রবাহকে label1-এ নির্দেশিত করা হয় . যদি এটি সত্য না হয়, স্টেটমেন্ট3 কার্যকর করা হবে। পরে স্বাভাবিক প্রবাহে প্রোগ্রাম চলতে থাকে।
নিম্নলিখিত উদাহরণে, ব্যবহারকারীর দ্বারা সংখ্যা ইনপুট সমান হলে, প্রোগ্রাম নির্দিষ্ট লেবেলে চলে যায়
উদাহরণ
<?php $x=(int)readline("enter a number"); if ($x%2==0) goto abc; echo "x is an odd number"; return; abc: echo "x is an even number"; ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
x is an even number
goto কীওয়ার্ডের সামনের লেবেলটি বর্তমান বিবৃতির আগে বা পরে উপস্থিত হতে পারে। যদি গোটো স্টেটমেন্টের লেবেল পূর্বের বিবৃতিকে চিহ্নিত করে, তাহলে এটি একটি লুপ গঠন করে।
ফলো করা উদাহরণ দেখায় একটি লুপ যা গোটো স্টেটমেন্ট দিয়ে তৈরি করা হয়েছে
উদাহরণ
<?php $x=0; start: $x++; echo "x=$x\n"; if ($x<5) goto start; ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
x=1 x=2 x=3 x=4 x=5
গোটো ব্যবহার করে, প্রোগ্রাম কন্ট্রোল যেকোন নামকৃত স্থানে যেতে পারে। যাইহোক, লুপের মাঝখানে লাফ দেওয়া অনুমোদিত নয়।
উদাহরণ
<?php for ($x=1; $x<=5; $x++){ if (x==3) goto inloop; for ($y=1;$y<=5; $y++){ inloop: echo "x=$x y=$y\n"; } } ?>
আউটপুট
এটি নিম্নলিখিত ফলাফল তৈরি করবে -
PHP Fatal error: 'goto' into loop or switch statement is disallowed in line 5