تابع array_slice : این تابع یک آرایه را گرفته و قسمت مشخصی از آن را در خروجی می دهد. این تابع یکی از توابع کاربردی php است.
ورودی تابع آرایه ~~> خروجی تابع آرایه
چهار مشخصه و آرگومان دارد، عبارتند از :
- مشخصه اول : نام آرایه ورودی
- مشخصه دوم : نقطه شروع برش، اگر مثبت باشد از اول شروع مي شود و اگر منفي باشد از آخر آرایه.
- مشخصه سوم : تعداد خانه های از آرایه که باید جدا شود.
- مشخصه چهارم : و بالاخره مهمترین مشخصه، دو حالت true , false دارد که پیش فرض false است و اگر true باشد مقدار اندیسی که در آرایه ورودی دارد را برای آرایه خروجی در نظر می گیرد. مثلا اگر اندیس یک خانه آرایه 5 باشد در آرایه جدید هم همین اندیس را خواهد داشت ولی در غیر این صورت اندیس های آرایه خروجی از صفر شروع می شود.
ساختار تابع :
array_slice(array,start,length,preserve)
array_slice(وضعیت ذخیره اندیس,طول جدا کردن,اندیس شروع آرایه,نام آرایه)
مثال : آرایه ای را تعریف و قسمتی از آن را چاپ کند.
<?php
// تعریف آرایه
$a=array(0=>"Ali",1=>"Reza",2=>"Hasam",3=>"Amin",4=>"Mohamad");
// چاپ آرایه با توجه به اندیس شروع و طول پیمایش آرایه
print_r(array_slice($a,2,3));
echo "<br>";
print_r(array_slice($a,2,3,true));
echo "<br>";
print_r((array_slice($a,-2,2));
?>
خروجی :
Array ( [0] => Hasam [1] => Amin [2] => Mohamad )
Array ( [2] => Hasam [3] => Amin [4] => Mohamad )
Array ( [0] => Amin [1] => Mohamad )
ابتدا آرایه تعریف شده و در اولین تابع مشخصه اول، نام تابع و مشخصه دوم، اندیس شروع که 2 است و مشخصه سوم، طول پیمایش آرایه که 3 است. تابع از اندیس دوم که حسن است شروع و سه خانه آرایه را پیمایش و در آرایه خروجی با اندیس 0 تا 2 ذخیره می کند. سپس یک br چاپ می شود تا یک خط به پایین برود.
تابع دوم هم مانند خط قبل است با این تفاوت که وضعیت ذخیره اندیس true است که باعث می شود اندیس آرایه ورودی در آرایه خروجی حفظ شود.
تابع سوم مانند تابع اول است با این تفاوت که مشخصه شروع منفی است و از سمت چپ آرایه شروع کرده و 2 خانه آخر آرایه را جدا می کند.