المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الخامس: الحلقات في php



المنصور بالله
30-04-2017, 04:20 PM
الدرس الخامس: الحلقات

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

حلقات while

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


while (condition) {
Statement
}


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

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


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

</head>
<body>

<?php

$x = 1;

while ($x <= 50) {
echo "<p>This **** 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>.

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

tafokt
03-05-2017, 10:21 PM
شكرا على لمعلومات والافادة

يسرا المرشدى
10-05-2017, 04:43 PM
شكرا على المعلومات والافادة

نجوان
26-05-2017, 01:29 AM
شكرا على الموضوع والافادات القيمة

ماهيتاب السويدى
28-05-2017, 10:39 AM
شكرا على المعلومات والافادة

شوقى غريب
10-06-2017, 10:21 PM
شكرا على المعلومات والافادة

جيهان
21-06-2017, 02:22 PM
شكرا على الموضوع والافادة والمعلومات القيمة

لمياء الدميرى
22-06-2017, 08:33 AM
شكرا على المعلومات والافادة

عهود المالكى
23-06-2017, 04:16 PM
شكرا على الموضوع والافادة والمعلومات القيمة

رحمة
28-06-2017, 09:16 PM
شكرا على الموضوعات والافادات القيمة

nadouche
21-07-2017, 06:10 PM
شكرا على المعلومات والافادة