PHP - Convert Array to Object with stdClass

13
عبدالله خشبة
  • PHP
  • 2014-03-05T03:16:34+00:00
  • 2017-11-02T18:19:24+00:00
  • المزيد
    • رابط مختصر

PHP - Convert Array to Object with stdClass - Richard Castera

www.richardcastera.com/blog/php-convert...

The PHP stdClass() is something that isn’t well documented but i will try to shed some light into the matter. stdClass is a default PHP...


التعليقات

  • الأفضل
  • الأحدث
  • الأقدم
1
راشد المري
  • 2014-03-05T14:36:32+00:00
  • المزيد
    • رابط مختصر

مرحبا استاذي عبدالله، معلومة مفيدة واذكر اني قرأت عنها في كتاب لدي

قد اتفق معه في موقع PHP.NET لم يتم شرح stdClass وتحويل المصفوفة الى كائن كما فعل، ولكن هناك كتب تكلمت عن هذه الطريقة بشكل جيد ومصادر اخرى ايضاً. بشكل أو بآخر وصلتنا المعلومة لتحويل المصفوفة الى كائن. ولكن يظهر تساؤل اخر، بماذا استفيد من تحويل الـ Array الى Object !. بعد بحث بسيط بالانترنت. وجدت ان المصوفات اقل استهالكاً للذاكرة من الكائنات ولذلك قد تكون أسرع في المعالجة.

هنا بعض الاسباب التي اراها منطقية:

  • الكائنات تستهلك الذاكرة اكثر من المصفوفات بنسبة ( 2 الى 10 ) بالمئة.

objects need more memory than arrays (+ 2-10 percent)

  • إذا كانت بعض قيم المصفوفة (رقمية)، لا يحتفظ بهم كنص (Strings)، وعلى العكس الكائنات يحفظ القيمة كماهي.

if array values are numeric, don't save them as strings!

  • افتراضياً المصفوفات ترسل البيانات بالقيمة passing by value بينما الارسال الافتراضي بالكائنات هو ارسال البيانات بالمصدر passing by reference

By default, Arrays pass by value (copied around), conversely, by default, objects pass values by references.

إذاً بماذا، استفيد من تحويل المصفوفة الى كائن ؟ شكراً لك استاذ عبدالله على سعة صدرك.

0
عبدالله خشبة
  • 2014-03-05T19:01:04+00:00
  • المزيد
    • رابط مختصر

شكراً جزيلاً على المعلومات التى حتماً أفادتنى و لكن فى بعض الأحيان يكون لديك خرج أحد ال Models التى تستخدمها هو على شكل object

و لكن لدى فضول بخصوص توضيحك :

لماذا لا تكون ال OOP بإستخدام ال Arrays و يتم تسميتها AOP ؟ بما أن ذلك سيوفر فى الذاكره ؟ هل يرجع ذلك للخاصية الثانية التى ذكرتها بشأن نوع القمية ؟

2
راشد المري
  • 2014-03-05T19:16:25+00:00
  • المزيد
    • رابط مختصر

العفوا استاذ عبداللة. قد تقصد اسلوب Data structures في صناعة Class يحتوي بداخله على Array، يعني ( Array-Based ) بالامكان وتطبيقها سهل ومن خلالها يشرح الداتا ستركتشر لكن .. ستصبح ( اكثر - استهلاكاً للذاكرة ) من الـ array العادية. ولو كان هناك سبب او خوارزمية ما لن تستطيع كتابتها الا عندما تحول array الى object او تصنع كلاس جديد ، يكون الامر مقنع. لكن Array في لغة PHP من اهم مايميز لغة PHP في مرونتها وسرعتها. لمذا احتاج اسلوب اخر غير Array اذا لم يكن هذا الاسلوب اسرع في الاداء


اقرأ أيضًا

  • قوالب حسب الطلب PHP
  • كيف اقوم باستدعاء Javascript بداخل صفحة php
  • استفسار عن برمجه واجهات التحكم ب php وكيفيه عملها
  • كيف احترف الphp
  • PHP: بالطريقة الصحيحة

PHP

مجتمع مخصص للغة الـ PHP

4.89 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

انسخ هذا الرابط:

تنبيه