تحديد عمق المصفوفات المتداخلة في PHP
المصفوفات هي بنية بيانات متعددة الاستخدامات في PHP، مما يسمح بتخزين العناصر داخل مصفوفات أخرى. تتيح هذه الميزة تنظيم البيانات المعقدة، ولكن قد يكون من الصعب تحديد الحد الأقصى لمستوى تداخل المصفوفة داخل بنية معينة.
ولمعالجة ذلك، يمكن ابتكار دالة تحسب عمق المصفوفة، مما يشير إلى الحد الأقصى لمستوى المصفوفات المتداخلة. إذا كان المصفوفة لا تحتوي على أي صفائف متداخلة، فإنها ترجع 1؛ إذا كان يحتوي على مصفوفة متداخلة واحدة أو أكثر، فإنه يُرجع 2؛ وهكذا.
الحل البديل للعودية اللانهائية:
إحدى الطرق للعثور على عمق المصفوفة هي استخدام print_r () للتحقق من العودية اللانهائية. تنشئ هذه الوظيفة تمثيلاً لسلسلة من المصفوفة، ويمكن أن تكشف المسافة البادئة للإخراج عن عمق البنية.function array_ Deep($array) { $max_indentation = 1; $array_str = print_r($array, true); $lines = تنفجر("\n", $array_str); foreach (خطوط $ كخط $) { المسافة البادئة $ = (strlen($line) - strlen(ltrim($line))) / 4; إذا (المسافة البادئة > $max_indentation) { $max_indentation = $indentation؛ } } إرجاع السقف (($max_indentation - 1) / 2) 1;function array_depth($array) { $max_indentation = 1; $array_str = print_r($array, true); $lines = explode("\n", $array_str); foreach ($lines as $line) { $indentation = (strlen($line) - strlen(ltrim($line))) / 4; if ($indentation > $max_indentation) { $max_indentation = $indentation; } } return ceil(($max_indentation - 1) / 2) 1; }يوفر هذا الحل تحديدًا دقيقًا لعمق المصفوفة، وتجنب المخاطر المحتملة المرتبطة بالوظائف العودية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3