• 3

كيف أضيف متغيرات بنفس الاسم مع رقم تصاعدي باستخدام php؟

أريد إنشاء عدة متغيرات متشابهة في الاسم، مع احتوائها على رقم تصاعدي.

مثال:

<?php 
$num1 = "Number 1";
$num2 = "Number 2";
$num3 = "Number 3";

for ($i = 0; $i < 3; $i++) {
    echo $num$i . "<br>";
}
?>

لكن يبدو أن الرمز $ يعتبر متغير غير صالحة في هذه الحالة، فكيف يمكنني الوصول إلى هذه النتيجة بشكل صحيح؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

هممم لماذا لاتكتبها بهذي الطريقة

<?php

for ($i = 0; $i < 3; $i++) {

    echo "<input type='text' value='varb $i' name='var $i'> <br>";
    //or
    //echo "<input type='hidden' value='var $i' name='var $i'> ";
  }

for ($i = 0; $i < 3; $i++) {

    echo "var $i" . "<br>";
}
?>

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

أولا عليك ببداية حلقة التكرار بالعدد 1 وليس 3 لأنك تريد البدء بـ Number 1.

و استعمالك لـ

 $num$i

دون اللجوء إلى رابطة concatenation  وهي النقطة "." سيتسبب في رفع استثناء exception.

وتكون الطريقة الصحيحة لفعل ذلك، كما يلي:

$num1 = "Number 1";
$num2 = "Number 2";
$num3 = "Number 3";

for ($i = 1; $i <=3; $i++) {
    $num = 'num' . $i;
    echo ${$num} . "<br>";
}

أو:

<?php 
$num1 = "Number 1";
$num2 = "Number 2";
$num3 = "Number 3";

for ($i = 0; $i < 3; $i++) {
    echo ${"num".$i} . "<br>";
}

يمكن الحصول على نفس النتيجة، باستعمال مصفوفة تخزّن فيها القيم المناسبة للمتغيرات، ثم تتصفحها عن طريق حلقة التكرار for:

$nums = array("Number 1", "Number 2","Number 3");
for ($i = 0; $i <3; $i++) {
    echo $nums[$i] . "<br>";
}

 

تمّ تعديل بواسطة E.Nourddine

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن