النتائج 1 إلى 9 من 9

الموضوع: [دالة] is_numeric للتأكد ان القيمة رقمية

  1. #1

    [دالة] is_numeric للتأكد ان القيمة رقمية



    يسم الله الرحمان الرحيم

    باستخدام هذه الدالة تستطيع معرفة القيمة هل هي رقمية ام نصية

    مثال :

    كود PHP:
    $text="021545454";
    if( 
    is_numeric$text ) )
      {
      echo 
    "القيمة رقمية";
      }
      else
      { 
      echo 
    " خطأ ";
      }
    // النتيجة  "القيمة رقمية" 
    اضافة ممكن تنفعك

    ماذا لو ان لديك تعدد الصفحات ( اذا كنت ﻻ تعرف تعدد الصفحات سيأتي يوم تصل اليه ﻻ تخف) ويكون الرابط هكذا

    artcile.php?id=214&page=3 ممتاز سيعمل جيدا ويكون المتغير هكذا
    كود PHP:
    $page=$_GET['page']; 
    وماذا سيحصل لو ان الرابط هكذا artcile.php?id=214

    ستحصل مشاكل وهي عدم اعطاء قيمة للمتغير page

    وتأتي هذه التركيبة لتحل المشكلة

    كود PHP:
    $page=(!is_numeric($page) ? $page); 
    لنشرح هذا السطر البرمجي البسيط ..

    اذا كان المتغير فارغ او غير رقمي اعطيه القيمة "1" او اتركه يحمل القيمة اﻷصلية

    فوائد :

    التأكد من عدم وضع اوامر ممكن تخترق القاعدة
    اضافة قيمة انت تحددها

    يمكن تغيير الرقم "1" الى اي قيمة تصلح لبرنامجك.

    والسﻻم عليكم





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com


  2. #2
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    شكراً أستاذي عبدالواحد ..

    بالنسبة لاستخدامه في تعدد الصفحات ، فأنا أفضل الطريقة هذه :
    كود PHP:
    $page = (intval($_GET['page']) == intval($_GET['page'])); 
    درس جميل ومفيد ،

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  3. #3


    اضافة رائعة اخي اشرف

    يكفي اني تعلمت من الكثير استاذي نفعنا الله بعلمك





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  4. #4
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    كلنا نتعلم من بعضنا البعض عزيزي ..

    بالمناسبة، في تعدد الصفحات عادة نحتاج إلى التحقق من أن الرقم هو عدد صحيح ، فمن غير المعقول في تطبيقاتنا " افتراضياً " ، أن يحتوي رقم الصفحة على خانات عشرية أو إشارة سالبة ..

    بالنسبة للعدد الصحيح يمكن الاستعاضة عن is_numeric بـ is_int ، ولضمان أن الرقم ليس بالسالب ، نفحص المتغير أنه أكبر من 0 ..

    كود PHP:
    $page = (!is_int($page) ? : ($page $page)); 
    لدي تعديل على كودي السابق ، لأننا لا نريد السوالب:
    كود PHP:
    $page = (intval($_GET['page']) <= intval($_GET['page'])); 
    هكذا نضمن أن العملية ستسير على ما يرام إن شاء الله .. لا زلت أفضّل الكود الأخير ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    على قصة القيمة الرقمية تفضلوا هالدالة وهي تفيد باستخراج القيمة الرقمية من متغير نصي :

    كود PHP:
    <?php
    function str2int($string$concat true) {
        
    $length strlen($string);    
        for (
    $i 0$int ''$concat_flag true$i $length$i++) {
            if (
    is_numeric($string[$i]) && $concat_flag) {
                
    $int .= $string[$i];
            } elseif(!
    $concat && $concat_flag && strlen($int) > 0) {
                
    $concat_flag false;
            }        
        }
        
        return (int) 
    $int;
    }
    echo 
    str2int("sh12apen11"); // النتيجة هي 1211
    echo str2int("sh12apen11"false); // النتيجة هي 12

     
    ?>

    فقط في سبيل الفائدة



    سلامات اخواني .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  6. #6


    ما شاء الله عليك اخي اشرف ﻻ يوجد لدي ما اضيفه على كﻻمك ...

    اخي ابن قانا اشكرك على اضافة الدالة .. ممكن نستخرج القيمة الرقمية من النص باستخدام التعابير القياسية وستأخذ منا سطرين لتنفيذ العملية

    كود PHP:
    $text="sh12apen11";
    preg_match_all("/[0-9]+/",$text,$m);
    $m=implode('',$m[0]);
    echo 
    $m






    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    جزاك الله خيرا أخ عبد الواحد، فعلا دالة لا غنى عنها للمبرمج..

    تعقيب بسيط: بالنسبة لتعدد الصفحات أفضل استخدام
    كود PHP:
    $page = (int) $page;
    if(
    $page 2$page 1







  8. #8
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    جزاك الله خيرا أخ عبد الواحد، فعلا دالة لا غنى عنها للمبرمج..

    تعقيب بسيط: بالنسبة لتعدد الصفحات أفضل استخدام
    كود PHP:
    $page = (int) $page;
    if(
    $page 2$page 1
    نفس الفكرة ..!!





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    108



    كود PHP:
    $page=(!is_numeric($page) ? $page); 
    لنشرح هذا السطر البرمجي البسيط ..

    اذا كان المتغير فارغ او غير رقمي اعطيه القيمة "1" او اتركه يحمل القيمة اﻷصلية
    هناك طريقه افضل لقراءة الكود اخ عبد واحد
    الداله is_numeric في حالة ان المتغير $page لايحمل قيمه رقميه او فارغ سوف ترجع
    قيمه false و مع اضافتنا ! و التي تعني نفي سوف يصبح نفي نفي او بطريقه اخرى
    false * flase = true على سبيل تقريب وبتالي عند ارجاع قيمه true سوف يسند له قيمه واحد

    فقط لمزيد من توضيح
    تحياتي لك










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض