دسترسی به مقادیر آرایه بصورت کلیدهای غیر عددی با شماره کلید(گسترش تابع array slice)

۵ سال پیش(به روز شده در ۵ سال پیش) پی اچ پی(PHP)(توابع) ۰

در آرایه هایی که کلیدهای آن غیر عددی است گرفتن مقادیر آن به صورت عددی اشتباه است یعنی:

$arr = array('a' => 1, 'b' => 2, 'c' => 3);
echo $arr[2]; //error

در واقع زمانی کد بالا امکانپذیر است که کلید یا اندیس آرایه عددی باشد و برای دسترسی به مقدار اندیسهای غیر عددی باید عینا مقدار عبارت را وارد نمود. برای اینکه در چنین شرایطی بتوان به صورت عددی نیز به مقادیر آرایه دسترسی پیدا کرد از تابع array_slice کمک می گیریم. این تابع مقادیر آرایه را به استفاده از شماره آفست(یا به عبارتی شماره کلید) را بر می گرداند. تابع مقصود ما این است:

function keyNameFromPos($arr, $pos)
{
    return key(array_slice($arr, $pos, 1, true));
}

$arr = array('a' => 1, 'b' => 2, 'c' => 3);
echo keyNameFromPos($arr, 2);

برچسبها

هیچ برچسبی موجود نیست.

صفحات پیشنهادی

دو تابع کاربردی برای گرفتن متغیرهای ورودی در دو متد POST و GET...

لزوما در گرفتن متغیرهای ورودی که توسط کاربران ارسال می گردد(فرمها) در دو متد POST و GET می باشد. زمانی که شروع به برنامه نویسی می کنیم بهتر است مادامی که بررسی کنیم آیا متغیر اصلا ارسال شده و اگر نشده...

ترجمه اعداد به رشته کوتاه...

گاهی لازم است عددهای بزرگ را خلاصه و یا به اصطلاح ترجمه کرد. ما به عمد تمام جزییات را به دلیل حق انحصار برنامه نویس درج کرده ایم (به مثال آخر نوشته دقت شود). توجه شود که هر چه مقدار متغیر index$ بیشتر...

پیاده سازی تابع PBKDF2...

پیکربندی تابع رمزنگاری PBKDF2 مخفف Password-Based Key Derivation Function 2......

توابع next , prev , end , current , reset در php...

این توابع مرتبط با آرایه ها هستند و وظیفه آنها اشاره به مقادیر آنهاست. در آرایه هایی که اندیسها یا کلیدهای آنها غیر عددی است , دسترسی به مقدار کمی متفاوت تر خواهد بود. هر چند که این توابع برای اندیسها...

نظر

نظری ثبت نشده است.
captcha image reload