تسجيل الدخول | التسجيل | الأسئلة المتكررة
Anonymous


الدرس الخامس: الحلقات

في PHP من الممكن أن تدير تنفيذ البرامج بهياكل تحكم مختلفة، في هذا الدرس سنلقي نظرة على الحلقات (loop)، الحلقات يمكن استخدامها لتكرار أجزاء من البرنامج بعدد محدد من المرات أو إلى أن يتحقق شرط محدد.

حلقات while

طريقة كتابة حلقة توثيقwhile هي:


	while (condition) {
		Statement
	} 
	
	

بناء الحلقة يمكن ترجمته إلى العربية: إفعل كذا بينما الشرط المحدد محقق.

لنلقي نظرة على مثال بسيط:


	<html>
	<head>
	<title>Loops</title>

	</head>
	<body>

	<?php

	$x = 1;
	 
	while ($x <= 50) {
	   echo "<p>This text is repeated 50 times</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>
	
	

في المثال استخدمنا المتغير المسمى "$x"، كما ترى المتغيرات في PHP دائماً تبدأ برمز "$"، من السهل نسيان هذه النقطة في البداية لكن من الضروري تذكر ذلك وإلا لن يعمل البرنامج.

بعد هذه النقطة المثال يشرح نفسه تقريباً، في البداية المتغير $x أعطيناه القيمة 1، ثم الحلقة تسأل المزود أن أن يكرر النص ما دام أن $x أقل أو يساوي 50، في كل تكرار المتغير $x ستزداد قيمته بإضافة 1.

حلقات for

هناك طريقة أخرى لاستخدام الحلقات وهذا من خلال الأمر توثيقfor بهذا الشكل:

	
	for (Initialization; Condition; Step) {
		 Statement
	}
	
	

البيان (statement) يكرر ما دام أن التهيئة (Initialization) والخطوة (step) يحققان الشرط (Condition)، إن لم تفهم هذا فانظر إلى المثال:


	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo "<p>variable $x is now = " . $x . "</p>";
	}
	?>

	</body>
	</html>
	
	

في المثال أعلاه المتغير $x يزداد بقيمة 5 في كل حلقة، التكرار سيستمر ما دام أن $x أقل من أو تساوي 50، لاحظ أيضاً أن القيمة $x تستخدم كجزء من الجملة.

هذا مثال آخر:


	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . ">Heading level " . $x . "</h" . $x . ">";
	}
	?>

	</body>
	</html>
	
	

هل فهمت المثال؟ في البداية حددنا قيمة المتغير $x بالعدد واحد، ثم في كل تكرار نكتب عنواناً على مستوى $x أي (h1 ثم h2 ثم h3 ... إلخ) إلى أن تصبح قيم $x تساوي ستة.

حلقات داخل حلقات

كمبدأ، ليس هناك حد لكيفية استخدام الحلقات، فمثلاً يمكنك بسهولة أن تضع حلقات داخل حلقات وهكذا تنشأ العديد من التكرار.

لكن احذر! PHP تصبح بطيئة ومعقدة ويكبر حجم البرنامج ، ألقي نظرة على المثال التالي حيث باستخدام 3 حلقات يمكننا كتابة 16 مليون لوناً!

لكي لا نجعل الصفحة بطيئة قللنا العدد بأن جعلنا الخطوة محدودة بالرقم 30، وبالتالي قللنا عدد الألوان إلى 512.


	<html>

	<head>
	<title>Loops </title>
	</head>
	<body>

	<?php
 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {
	 
		  $StrColor = "rgb(" . $intRed . "," . $intGreen . "," . $intBlue . ")";
		  
		  echo "<span style='color:" . $StrColor . "'>" . $StrColor . "</span>";
	 
	      }
	   }
	}
	?>

	</body>
	</html>
	
	

في هذا المثال كل لون أولي (أحمر أخضر وأزرق) يمكنه أن يحمل قيمة ما بين 0 و255، أي مركب من الألوان الثلاثة يكون لوناً بشكل rgb(255,255,255)، رقم اللون يستخدم في وسم <span>.

الحلقات تصبح أكثر فائدة عندما تتعلم المزيد، عندما تفهم أساس الحلقات يمكنك أن تنتقل إلى الدرس التالي لنلقي نظرة على الشروط.



<< Lesson 4: التعامل مع الوقت والتواريخ

Lesson 6: شروط >>