با عرض سلام و ادب و احترام
نکته ای به نظرم جالب اومد که دوست داشتم با شما به اشتراک بزارم.
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
زمانی که از Indexed Array استفاده میکنیم، مسلم هستش که همه چیز به طور خودکار از [0] ایندکس گذاری میشه و همینطور زمانی که از Associative Array استفاده میشه، همه چیز همونطور که خودمون وارد کردیم ایندکس گذاری میشه
نکته همون چیزیه که در ویدئو دیدید، گاهی در بین Associative Array، ما عضوی رو تعریف میکنیم که ایندکسی براش معین نکردیم که در این حالت، نحوهی اینکس گذاری جالب میشه :
همین طور که میدونید در این حالت، خود php میاد برای دادههایی که ما براش ایندکسی مشخص نکردیم، ایندکس گذاری میکنه و از [0] تا هرچند تا که داده داشته باشیم، ایندکس میده. همینطور که در بالا میبینید من عمدا در بین دادههای بدون ایندکس، ایندکس Mohammad رو گذاشتم ولی اگر دادهی بدون ایندکسی مجددا در بعد از Mohammad هم تعریف بشه، ایندکس گذاریش توسط php همون ادامهی ایندکسهای دادههای قبل هستش. نتیجه میشه تصویر زیر:
نکته اصلی و جالب زمانی اتفاق میافته که من بخوام خودم هم در همون ترکیب آرایهی بالا، یک ایندکس عددی تعریف کنم!!!! مثل تصویر زیر:
اما آیا در این حالت واکنش php نسبت به ایندکس گذاریه خودکار چیه؟
دو حالت داره:
۱/ اگر عددی که من قراره به عنوان ایندکس به کارش ببرم (خط۵)، قبل از اعداد بدون ایندکس نوشته شده باشه، php ازش الگو برداری میکنه و ایندکس گذاریهاش رو از اون عدد به بعد، میزاره. در تصویر بالا، نتیجهی برگشتی میشه این:
۲/ اگر عددی که من قراره به عنوان ایندکس به کارش ببرم (خط۵)، بعد از اعداد بدون ایندکس نوشته شده باشه، ۲ حالت اتفاق میافته:
اول/ یا مثلا ایندکس ۲ که من نوشتم، قبلا توسط php به یک دادهی دیگه متعلق بوده، که اینطوری عملیات rename اتفاق میافته مثل تصویر زیر:
عدد ۱۴ از بین میره و داده ای که من به ایندکس دوعه (۲) خودم داده بودم، به ایندکس ۲ای که توسط php قرار گرفته، داده میشه
دوم/ اگر ایندکسی که من نوشتم، قبلا توسط php استفاده نشده باشه،
اعدادی که ما قبل از اون بوده رو از [0] ایندکس گذاری میکنه ولی وقتی به عدد من میرسه، ما بقی رو از عدد من به بعد ایندکس گذاری میکنه، به نحوهی زیر:
امیدوارم منظور رو رسونده باشم و بدردتون خورده باشه,,, موفق، پیروز و سربلند باشید