السلام عليكم ورحمة الله
ممكن احد يشرح لنا دالة 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|+|
"عامل الناس بما تحب أن يعاملوك به"
لـــــــــــــــــــــــــــــؤي