اگر عناصر موجود در یک آرایه دارای کلیدهای عددی و مرتب نباشند، دریافت نخستین عضو آرایه با استفاده از اندیس عددی 0 امکانپذیر نیست و برای این کار میبایست از روشهای دیگری استفاده کنیم.
در حالتی که آرایهی ما دارای کلیدهای عددی و مرتب به شکل زیر باشد، کار ساده است:
$my_array = [ 0 => 'a', 1 => 'b', 2 => 'c', ]; echo $my_array[ 0 ];
اگر آرایهی ما دارای اندیسهای غیرعددی یا غیرمرتب به شکل زیر باشد:
$my_array = [ 'a2' => 'a', 'b2' => 'b', 'c3' => 'c', ];
از روشهای زیر میتوانیم استفاده کنیم.
استفاده از دستور reset
این دستور سادهترین روش برای دستیابی به هدف است. البته توجه به این نکته ضروری است که این دستور اشارهگر داخلی آرایه را بازنشانی میکند و اگر در حال حرکت روی اعضای آرایه باشید، این دستور برای شما قابل استفاده نخواهد بود.
echo reset( $my_array );
استفاده از دستور list
این دستور هم به شکل زیر میتواند برای برگرداندن نخستین عضو آرایه به کار برده شود.
list( $first_value ) = $my_array; echo $first_value;
توجه به این نکته ضروری است که اگر آرایه خالی باشد، ممکن است با این روش به پیام هشدار برخورد کنیم.
استفاده از array_pop
این روش بار زیادی برای برعکس کردن آرایه ایجاد میکند ولی ممکن است گاهی روشی مناسب باشد:
echo array_pop( array_reverse( $my_array ) );
استفاده از array_shift
این روش هم مثل روش قبلی بار پردازشی اضافی ایجاد میکند که گاهی ممکن است قابل قبول باشد:
echo array_shift( array_values( $my_array ) );
گرفتن نخستین کلید از آرایه
برای پیدا کردن اولین کلید در آرایه روشهای مختلفی وجود دارد که برخی از آنها با روشهای بالا مشترک هستند. با ترکیب دستور array_keys و هر کدام از روشهای بالا میتوانیم کلید اولین عضو آرایه را پیدا کنیم.
همچنین اگر از دستور reset استفاده کنیم، در خط بعد به شکل زیر، کلید متناظر با عضو نخست قابل دریافت است.
echo reset( $my_array ); echo key( $my_array );
بهترین روش کدام روش است ؟
برای انتخاب بهترین روش لازم است تا نیازها و شرایط آرایهی موجود بررسی شود و روشی که از نظر بار پردازشی و عملکرد صحیح، مشکلی ایجاد نکند انتخاب شود.