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

الموضوع: حول المصفوفات و المصفوفات دات البعدين و الدالتين explode , implode

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

    حول المصفوفات و المصفوفات دات البعدين و الدالتين explode , implode



    السلام عليكم و رحمة الله

    أستخدم الدالتين explode , implode لتحويل المصفوفة إلى نص و النص إلى مصفوفة

    مثلا
    كود PHP:
    $v_text  "azizsoft<1>ahmad<1>mmm<1>ibrahim";
    $v_array explode("<1>"$v_text); 
    لكن هده الدالة مجدية إدا كانت المصفوفة دات مفاتيح إفتراضية ( من 0 إلى ... )

    السؤال : كيف أحول النص إلى مصفوفة دات مفاتيح محددة في النص أصلا
    مثال

    كود PHP:
    $v_text  "<name>azizsoft<name2>ahmad<script>mmm<desg>ibrahim"
    أريد تحويلها إلى

    كود PHP:
    $v_array = array("name" => "azizsoft","name2" => "ahmad","script" => "mmm","desg" => "ibrahim"); 
    سؤال اخر

    كيف أقوم بنفس العملية للمصفوفات دات البعدين؟

    و جزاكم الله خيرا







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


    بالنسبة لطلبك الأول، تفضل:
    كود PHP:
    $v_text  "<name> azizsoft<name2>ahmad<script>mmm<desg>ibrahim";  

    preg_match_all("/\<(\w+)\>([\w\s]*)/"$v_text$matches);

    $v_array = array();
    foreach (
    $matches[1] as $key => $val) {
        
    $v_array[$val] = $matches[2][$key];
    }

    print_r($v_array); 
    قد لا يكون الكود في الأعلى بالدقة المطلوبة، يمكنك تعديله كما تشاء ( لم أراعِ أن الكود المدخل كود HTML تبعاً لمثالك ) .. هذه إحدى الطرق التي يمكنك باستخدامها القيام بما ترغب به ..

    السؤال الثاني لم أفهم، هل تقصد الـ Nested Tags - الوسوم المتداخلة ؟ أم ماذا ؟

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





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

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


    100%
    جزاك الله خيرا

    الطلب التاني إدا كان كل عنصر من المصفوفة مصفوفة في نفس الوقت (مصفوفة داخل مصفوفة)

    مثال

    كود PHP:
    $v_text  "<ar1>ar11.azizsoft ar12.ibrahim<ar2>ar21.azizsoft ar22.ibrahim"
    أريد تحويلها إلى

    كود PHP:
    $v_array = array("ar1" => array("ar11" => "azizsoft","ar12" => "ibrahim"),"ar2" => array("ar21" => "azizsoft","ar22" => "ibrahim")); 







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


    تفضل أخي:

    كود PHP:
    $v_text  "<ar1>ar11.azizsoft ar12<ar2>ar21.azizsoft ar22.ibrahim";    

    preg_match_all("/\<([\s\w]+)\>([\.\w\s]*)/"$v_text$matches);

    $v_array = array();
    foreach (
    $matches[1] as $key => $val) {
        
    preg_match_all("/(\w+)(\.([\w]+)|)(\s*)/"$matches[2][$key], $matches2);
        if (
    count($matches2[1]) > 0) {
            
    $v_array2 = array();
            foreach (
    $matches2[1] as $key2 => $val2) {
                
    $v_array2[$val2] = $matches2[3][$key2];
            }
        } else {
            
    $v_array2 $matches[2][$key];
        }
        
    $v_array[$val] = $v_array2;
    }

    print_r($v_array); 
    وكما قلت لك .. يمكن تطوير الكود حسب احتياجاتك .. فأنا راعيت الحالة التي أعطيتني اياها .. قد تكتشف أن الكود يحتاج لأمور أخرى لم نراعِها في هذا الكود ..

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





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

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


    تمام 100 %
    بالنسبة للكود فهو واضح و بالطبع سأعدل عليه حسب الحاجة

    جزاك الله خيرا










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

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

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