السلام عليكم ورحمة الله
ممكن احد يشرح لنا دالة foreach شرح بالتفصيل الممل و الامثلة
السلام عليكم ورحمة الله
ممكن احد يشرح لنا دالة foreach شرح بالتفصيل الممل و الامثلة
The foreach Statement
http://www.w3schools.com/php/php_loo...p?output=print
ماعرف وش تبي هال foreach
بس بحث لك ولقيت الموضوع مع مثال عليها ممكن يفيدك
وشكراً
حمد الشمري
مشكور اخوي بس اذا ممكن عربي
أوكي ..
مثال يوضح الدالة
عندما تكون لديك مصفوفة بهذا الشكل مثلا:
وتريد عرض العناصر كلها في جدول للزائر .. يعني تريد جدولا يكون عموده الأيمن هو الرقم والثاني هو اسم الموقع .. في هذه الحالة يمكنك عمل التالي:كود PHP:
$ratteb = array();
$ratteb[1] = 'الموقع الأول';
$ratteb[2] = 'الموقع الثاني';
$ratteb[3] = 'الموقع الثالث';
بتعبير آخر: الدالة تسمح لك بالتعامل مع عناصر المصفوفات وكأنها متغيرات مفردة عادية ..كود PHP:
echo "<table>";
foreach($ratteb as $key => $val){
// يعني: لكل عنصر في المصفوفة أريد منك أن تسمي المفتاح كيي والقيمة فال
// الآن سيعطيك واحدة واحدة من المصفوفة وبالتالي يمكن عمل أي شيء في العنصر الواحد
echo "<tr>";
echo "<td>";
echo $key;
echo "</td>";
echo "<td>";
echo $val;
echo "</td>";
echo "</tr>";
}
echo "</table>";
__________________
....
محمد حسام
انترنت بلس
مشكو اخوي
بدأ العمل بـforeach من PHP4 يشمل ما بعدها
foreach عبارة عن حلقة تكرار في PHP مثل While,For
foreach,(While,For) اهم الفروق:
foreach اقرب الى While في طريقة العمل
عملها :
تشبه foreach هذي الشفرة البرمجية (PHP):
طرق كتابتها :كود PHP:
while(list($key,$val)=each($array))
اولا
يكافئكود PHP:
foreach($array as $key => $val)
------------------------كود PHP:
while(list($key,$val)=each($array))
ثانيا
يكافئكود PHP:
foreach($array as $val)
---------------------------------------------------كود PHP:
while(list(,$val)=each($array))
في كل دورة اخذنا عنصر من المصفوفة ووضعنا المؤشر الداخلي للمصفوفة على العنصر التاليكود PHP:
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
ثم ضربنا القيمة الحالية * اثنين
تدبلت كل قيمة من المصفوقة
--------------------------------------------------
كود PHP:
<?php
$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
echo "Value: $value<br />\n";
}
foreach ($arr as $value) {
echo "Value: $value<br />\n";
}
?>تطلع نفس النتيجة في المثالين السابقتين بالطريقتينكود PHP:
<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) {
echo "Key: $key; Value: $value<br />\n";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br />\n";
}
?>
يطبع لك كل مرة القيمة للعنصر الحاليكود PHP:
<?php
/* foreach example 1: value only */
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of \$a: $v.\n";
}
نطبع القيمة للعنصر بترقيم خاص بنا لتحكم اكثر بالحلقهكود PHP:
/* foreach example 2: value (with key printed for
illustration) */
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
echo "\$a[$i] => $v.\n";
$i++;
}
يطبع الرقم كتابة (المفتاح key) بجانبه رقما (القيمة val)كود PHP:
/* foreach example 3: key and value */
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}
*******************
ملاحظات عامة :
1- لا تقبل استعمال عامل منع الخطأ "@".
2- تقوم باعادة المؤشر الداخلي الى بداية المصفوفة
يعني مافي داعي تستعمل الدالة
3- االملاحظتين السابقتين والامثلة من المنيوالكود PHP:
reset()
4- يوجد مثالين اكثر تعقيدا لم اعرضهم
*******************
اتمنى اكون وفقت في شرحي
مع تحياتي أخوك لؤي السقاف..........
__________________
"من علمني حرفا صرت له عبدا"
|+|PHP|+|loowy|+|PHP|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي
والله مشكور اخوي 3bdullah على هذا الشرح الجميل
يا مرحبا
__________________
"من علمني حرفا صرت له عبدا"
|+|PHP|+|loowy|+|PHP|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي