• 0

كيف أُزيل جميع الفواصل الموجودة في متغير على لغة php ؟

أحاول القيام ببعض الحسابات الرياضية من خلال أخذ بعض القيم التي يقوم المستخدم بإدخالها على حقول نصية، باستخدام php، لكن المشكل أن المستخدم يُدخل العديد من القيم مع فواصل تفصل بينها، وأريد إزالة هذه الفواصل.

مثلا يقوم المستخدم بإدخال القيم :3,2,4 وفي حقل آخر5,4,3,2,1 على أن أكتب شيفرة برمجية تقوم بعملية مجموع ضرب جميع أعداد الحقلين فيما بينها، بهذا الشكل:

3*5+3*4+3*3+3*2+3*1 + 2*5+2*4+2*3+2*2+2*1 + 4*5+4*4+4*3+4*2+4*1

وهده نتيجة محاولتي:

$first = $_POST['first'];
$second= $_POST['second'];

$maths = $first[0] * $second[0] + $first[0] * $second[1] + $first[0] * $second[2] + $first[0] * $second[3] + $first[0] * $second[4] + $first[0] * $second[5] + $first[1] * $second[0] + $first[1] * $second[1] + $first[1] * $second[2] + $first[1] * $second[3] + $first[1] * $second[4] + $first[1] * $second[5] + $first[2] * $second[0] + $first[2] * $second[1] + $first[2] * $second[2] + $first[2] * $second[3] + $first[2] * $second[4] + $first[2] * $second[5];
$result = "$first[0] * $second[0] + $first[0] * $second[1] + $first[0] * $second[2] + $first[0] * $second[3] + $first[0] * $second[4] + $first[0] * $second[5] + $first[1] * $second[0] + $first[1] * $second[1] + $first[1] * $second[2] + $first[1] * $second[3] + $first[1] * $second[4] + $first[1] * $second[5] + $first[2] * $second[0] + $first[2] * $second[1] + $first[2] * $second[2] + $first[2] * $second[3] + $first[2] * $second[4] + $first[2] * $second[5]";

echo "</br>";
echo "the question is $result";
echo "</br>";
echo  "the result is $maths ";

لكن بعد الحساب يظهر لي فواصل مع الأرقام، مما يعني أنها لم تُزَل بشكل كلي وصحيح، كيف أقوم بذلك؟

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


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

سنستعمل دالة :

explode

والتي من شأنها أن تجعل من القيمة النصية للحقل، مصفوفة وذلك بإزالة الفواصل، ثم المرور على قيم المصفوفتين - لأن لدينا حقلين إثنين أي سينتج عنها مصفوفتين-، بواسطة حلقتي تكرار لكل منها مع إنجاز العمليات المذكورة في سؤالك، بهذا الشكل:

$sum=0;
    $question=array();

    $first=explode(',',$_POST['first']);
    $second=explode(',',$_POST['second']);

    for( $i=0; $i < count( $first ); $i++ ){

        $row=array();
        $tmp=array();

        for( $j=0; $j < count( $second ); $j++ ){
            $tmp[]='( '.$first[ $i ]. ' x '. $second[ $j ].' )';
            $row[]=$first[ $i ] * $second[ $j ];
        }
        $sum+=array_sum( $row );
        $question[]=implode( ' + ', $tmp );
    }
    echo 'The question is: [ ' . implode( ' ] + [ ', $question ).' ]<br />';
    echo 'Total: '.$sum;

  على أن يتم إظهار القيمة المحصول عليها في متغير sum$ آخر الكود.

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


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

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

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

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


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

تسجيل الدخول

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


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