تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ محمدرضا
تابع array_rand
جامعه پی اچ پی ایجاد شده در ۲۸ بهمن ۱۳۹۸

من این تابع را برای یک آرایه انجمنی به کار بردم که مقدار کلید آن را چاپ کرد، ولی برای شما مقدار ایندکس برگردانده شد.

عجیبه! ?

مقدار کلید یا مقدار key یا مقدار ایندکس، یک معنی رو میده.

و این آرایه همونطور که استاد گفتند بصورت رندوم، یک یا چند کلید آرایه رو برمیگردونه.

اگر منظورتون این هست که داره مقدار value رو برمیگردونه، خیر اشتباه میکنید.

این لینک مستندات PHP رو ببینید: https://www.php.net/manual/en/function.array-rand.php

محسن موحد ۲۸ بهمن ۱۳۹۸، ۲۰:۵۳

درسته کار این تابع همینه و مقادیر رندوم ایندکس هارو برمیگردونه.

رفتم انتهای فیلم رو دیدم، استاد قبل از تابع array_rand از تابع shuffle استفاده کردن که این تابع pass by reference هست و مقادیر کلید عددی تولید میشه داخلش:

shuffle ( array &$array )

https://www.php.net/manual/en/function.shuffle.php

این تابع باعث شده کلیدهای انجمنی از بین بره و کلیدها تبدیل به عددی بشن.

محسن موحد ۲۹ بهمن ۱۳۹۸، ۱۳:۳۳

سلام و درود بر شما جناب رحیمی... کلیدهای آرایه و ایندکس‌های آرایه هر دو به اعضای یک آرایه اشاره می‌کنند. مهم این نیست که ما برای آرایه خودمان به صورت انجمنی کلید تعریف کنیم و یا ایندکس گذاری را به صورت پیش فرض و از ۰ به عهده برنامه بگذاریم، در حقیقت امر در هر صورت رفتار تابع array_rand با کلیدها هم مشابه ایندکس‌ها هست... تفاوت در اینجاست که در هربار رفرش در آرایه‌های انجمنی یکی از اسامی کلید تعریف شده به صورت رندوم به عنوان اعضای آرایه برمی گردد، و در آرایه‌های ایندکسی در هربار رفرش یکی از ایندکس‌ها که عددی هستند به صورت رندوم با این تابع برمی گردد...

 

با تشکر از مشارکت شما و سایر دوستان در تاپیک‌های php سون لرن...

علیرضا ابراهیمی ۲۴ فروردین ۱۳۹۹، ۱۴:۱۸