دسترسی به مقادیر آرایه بصورت کلیدهای غیر عددی با شماره کلید(گسترش تابع 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);

برچسبها

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

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

گرفتن مقادیر آرایه با کلید خاص(تابع array column)...

تابع array_column مقادیر یک آرایه را با توجه به مقدار یک کلید خاص بر می گرداند....

توابع کار با رشته های با یونیکد UTF-8...

هدف پروژه مورد نظر , ایجاد توابعی است که با رشته های UTF-8 کار می کند. بعنوان مثال بخشی از کلاس را ببینید(تابع بررسی صحت رشته UTF-8)......

پارسر قدرتمند شناسایی کلمات یک رشته...

تابع زیر یک پارسر قدرتمند جهت شناسایی کلمات یک رشته و جداسازی آنهاست. این تابع یکی از توابع کاری موتور جستجوی گروه ما(وی2) است. تمامی بهینه سازیها در این تابع رعایت شده که هر چند ساده است!......

ایجاد تابعی با n ورودی - mixed arguments...

برای ایجاد تابعی با n ورودی (mixed arguments) کافیست ابتدا آرگومانهای تابع را به صورت یک متغیر آرایهای بگیرید. مثال: function foo() { $args = func_get_args(); print_r($args); }   ...

نظر

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