علي الكاسر نشر 18 مايو 2022 أرسل تقرير نشر 18 مايو 2022 اعمل على اداة لتصميم صفحات الويب وكتب pdf, واستخدمت المصفوفات المترابطه لتخزين البيانات وحفظها في ملف json، وهذه المصفوافات تحتوي على عدد لا نهائي من المصفوفات بداخلها، المشكله هي صعوبة الاضافة لاحد تلمصفوفزت التي تقع داخل مصفوفه وهكذا عملت برمجة ونجحت باستخراج مفاتيح المصفوفات بهذا الشكل 0,0,0 وهذا يعني ان المصفوفة من اليمين ذات المفتاح 0 تقع داخل مصفوفه مفتاحها صفر ايضا وهكذا المشكلة عندما اريد اضافة عنصر لاي مصفوفه بنائا على هذه السلسله 0،0،0 عملت برمجة ونجحت فقط بالتضافه على المصفوفات التي مفتاحها صفر اما اذا زاد المفتاح عن صفر يقوم بالتعديل على المصفوفه السابقه ذات مفتاح صفر ممكن حل 1 اقتباس
0 Hassan Hedr نشر 18 مايو 2022 أرسل تقرير نشر 18 مايو 2022 يرجى إضافة الشيفرة البرمجية التي توصلت إليها ضمن نص السؤال حتى يتوضح استفسارك وتحصل على إجابة واضحة اقتباس
0 علي الكاسر نشر 18 مايو 2022 الكاتب أرسل تقرير نشر 18 مايو 2022 (معدل) بتاريخ 5 ساعات قال Hassan Hedr: يرجى إضافة الشيفرة البرمجية التي توصلت إليها ضمن نص السؤال حتى يتوضح استفسارك وتحصل على إجابة واضحة <?php $arr = json_decode('[ {"ta":"div1","pr":{"class":"dffg","name":"ggg"} ,"tx":[{"ta":"nav","pr":{"class":"dffg","name":"ggg"} ,"tx":[{"ta":"div2","pr":{"class":"dffg","name":"ggg"} ,"tx":[{"ta":"font1","pr":{"class":"dffg","name":"ggg"} ,"tx":"im font1","ht":"<font @Prop#>@text#</font>"}],"ht":"<div @Prop#>@text#</div>"},{"ta":"font2","pr":{"class":"dffg","name":"ggg"} ,"tx":[],"ht":"<font @Prop#>@text#</font>"}],"ht":"<nav @Prop#>@text#</nav>"}],"ht":"<div @Prop#>@text#</div>"}]', true);//المصفوفه العامه function hop($arr,$g=''){ //دالة لعرض المصفوفات بشكل اوتماتيكي for($i=0;$i<count($arr);$i++){ if(is_array($arr[$i]["tx"])){ $fs = $g; $g=$g.','.$i; $as = hop($arr[$i]["tx"],$g); $g= $fs; foreach($arr[$i]['pr'] as $key => $value){ $ffg[] = ' '. $key. '="'. $value. '" '; } $gg = implode (' ', $ffg); $asd[] = $arr[$i]['ta'].'add'. $g.','. $i. '<br>'.$as; unset($ffg); } else{ foreach($arr[$i]['pr'] as $key => $value){ $ffg[] = ' '. $key. '="'. $value. '" '; } $gg = implode (' ', $ffg); $asd[] = $arr[$i]['tx']. $arr[$i]['ta'].$g.','. $i. '<br>'; unset($ffg); } } if(isset($asd)){ return '<div style="padding: 4px; margin: 4px; border: 2px solid #000" >'. implode (' ', $asd).'</div>'; } } echo hop($arr);//عرض المصفوفات بشكل منسق ومقسم وبالترتيب echo json_encode($arr). '<br><br><br><br>'; function add($arr,$add,$keys){ //دالة لأضافة العناصر الجديده //تقبل ثلاثه وصائط الزاميه الاول المصفوفه العامه والثاني العنصر الجديد قد يكون مصفوفه او نص فقط الوسيط الثالث سلسله نصيه بارقام مفاتيح المصفوفه الهدف //توجد المصفوفات دائما داخل المفتاح tx في ا if($keys!= ''){ function goo($arr){ return $arr; } $aru = explode(',',$keys); unset($aru[0]); $text = implode (',', $aru); unset($aru); $aru = explode(',', $text) ; //نحول سلسة المفاتيح إاى مصفوفه for($i=0;$i<count($aru);$i++){ //نعمل حلقة تكرار للمصفوفه السابقه وبنائا عليها نقوم بتفكيك المصفوفه العامه حسب المفاتيح التي نحصل عليها من المصفوفه السابقه وحلقة التكرار، نخزن كل مصفوفه داخل مصفوفه عاديه جديده if($i == 0){ $xxx[] = goo($arr[$aru[$i]]['tx']) ; if(count($aru) == 1){ $arr[$aru[$i]]['tx'][] = $add; } }else{ $xxx[] = goo($xxx[$i-1][$aru[$i]]['tx']); if($i == count($aru)-1){ for($e=count($aru)-1;$e>-1;$e--){ //هنا نقوم بعكس العمليه السابقه ونقوم بتجميع المصفوفه العامه بعد اضافة تلعنصر الجديد للمصفوفه الهدف التي حصلنا على مفاتيحها من سلسلة الارقام الممررة للداله if($e == count($aru)-1){ $xxx[$e][] = $add;//هنا نضيف العنصر الجديد }else{ $xxx[$e][$aru[$e]]['tx'] = $xxx[$e+1]; if($e == 0){ $arr[$aru[$e]]['tx'] = $xxx[$e]; } } } } } } } else{ $arr[] = $add; } echo hop($arr); } $add = ["ta"=>"font","pr"=>["class"=>"dffg","name"=>"ggg"] ,"tx"=>"font is a great tool that can be used for any ","ht"=>"@text#</font>"] ;//عنصر جديد نريد اضافته لاحد المصفوفات المتداخله عبر سلسلة نص المفاتيح add($arr,$add,',0,0,0');//سيضيفها في المصفوفه الداخليه الثالثه echo json_encode($arr). '<br><br><br><br>'; ?> طبعا الكود هذا يعمل بشكل سليم وجيد جدا ويمك اضافة اي عنصر لاي مصفوفه تقع داخل مصفوفه وهكذا باستخدام الارقام، في الكود استخدمت الارقام ,0,0,0 سيقوم باضافه العنصر للمصفوفه االداخليه الثالثه، المشكله كل المشكله استخدمت ارقام غير الاصفار مثلا ,0,0,1 او ,0,1 وهكذا تم التعديل في 18 مايو 2022 بواسطة Hassan Hedr تنسيق الشيفرة اقتباس
0 Hassan Hedr نشر 18 مايو 2022 أرسل تقرير نشر 18 مايو 2022 بتاريخ 52 دقائق مضت قال علي الكاسر: طبعا الكود هذا يعمل بشكل سليم وجيد جدا ويمك اضافة اي عنصر لاي مصفوفه تقع داخل مصفوفه وهكذا باستخدام الارقام، في الكود استخدمت الارقام ,0,0,0 سيقوم باضافه العنصر للمصفوفه االداخليه الثالثه، المشكله كل المشكله استخدمت ارقام غير الاصفار مثلا ,0,0,1 او ,0,1 وهكذا الشيفرة غير مقروءة أسماء المتغيرات ضمن التوابع مبهمة وتحتاج إلى توضيح، يمكنك حصر المشكلة ضمن تابع ما (مثلًا المشكلة في التابع add) وتعديل أسماء المتغيرات لتعبر عن البيانات التي تحويها وتصبح مقروءة بشكل أفضل، وإرفاق مثال لاستخدام سليم ومثال لاستخدام به مشكلة حتى يتوضح سؤالك بشكل أفضل ونستطيع المساعدة 1 اقتباس
السؤال
علي الكاسر
اعمل على اداة لتصميم صفحات الويب وكتب pdf, واستخدمت المصفوفات المترابطه لتخزين البيانات وحفظها في ملف json،
وهذه المصفوافات تحتوي على عدد لا نهائي من المصفوفات بداخلها،
المشكله هي صعوبة الاضافة لاحد تلمصفوفزت التي تقع داخل مصفوفه وهكذا
عملت برمجة ونجحت باستخراج مفاتيح المصفوفات بهذا الشكل
0,0,0
وهذا يعني ان المصفوفة من اليمين ذات المفتاح 0 تقع داخل مصفوفه مفتاحها صفر ايضا وهكذا
المشكلة عندما اريد اضافة عنصر لاي مصفوفه بنائا على هذه السلسله 0،0،0
عملت برمجة ونجحت فقط بالتضافه على المصفوفات التي مفتاحها صفر اما اذا زاد المفتاح عن صفر يقوم بالتعديل على المصفوفه السابقه ذات مفتاح صفر
ممكن حل
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.