اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چطور می‌توان از یک آرایه‌ی ساخته شده یک زیرآرایه‌ی کوچک‌تر را جدا کرد؟

+5 امتیاز
414 نمایش

من یک آرایه به شکل زیر دارم

array = array(0=>'element1', 1=>'element2', 2=>'element3', 3=>'element4', 4=>'element5', 5=>'element6');

می‌خوام یک زیرآرایه از این آرایه مثل زیر بگیرم

new_array = array(0=>'element1', 1=>'element2', 2=>'element3');

این کار رو چطور باید انجام بدم؟

پرسیده شده جمعه ۱۹ آبان ۱۳۹۱ در PHP توسط PHP_Crawler1  
بازتگ شده یکشنبه ۱۸ فروردین ۱۳۹۲ توسط admin

اسم متغیر مگه نباید با علامت دلار ($) نشون داده بشه. الان اسم array که اینطوری نیست. فکر کنم یادت رفته.

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

چند تا راه وجود داره. یکی‌ش حذف کردن اعضایی هست که می‌خوایم نباشه. این طوری یه حالت کلی‌تر هم جواب داده می‌شه این که چطور چند قسمت از آرایه رو جدا کنیم. برای نمونه کد زیر


$arr = array(0=>'element1', 1=>'element2', 2=>'element3', 3=>'element4', 4=>'element5', 5=>'element6');
unset($arr[1]);
vardump($arr);

که خروجی‌ش به شکل زیر می‌شه

array(5) {
[0]=>
string(8) "element1"
[2]=>
string(8) "element3"
[3]=>
string(8) "element4"
[4]=>
string(8) "element5"
[5]=>
string(8) "element6"
}

مشکل اینجاست که اندیس‌ها دست نخورده باقی می‌مونن.
یک راهش هم استفاده از arrayslice هست به شکلی که توضیح داده شد.
یک راه هم استفاده از array_splice() برای مشخص کردن اون اعضایی هست که می‌خوایم حذف بشه

arraysplice($arr, 2, 1);

خوبی این آخری اینه که اندیس‌ها رو هم به‌روز می‌کنه
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده پنجشنبه ۲۳ آذر ۱۳۹۱ توسط prodo  
ویرایش شده چهارشنبه ۲۲ خرداد ۱۳۹۲ توسط prodo
+3 امتیاز

می‌شه خیلی راحت از تابع slice استفاده کرد به شکل زیر


$basearray = array(0=>'element1', 1=>'element2', 2=>'element3', 3=>'element4', 4=>'element5', 5=>'element6');

حالا می‌خوایم از عنصر ۱ تا ۳ و برداریم یعنی ۳ تا رو

$slicedarray = arrayslice($basearray, 0, 3);

آرگومان اول آرایه‌ی اصلی رو می‌ده. آرگومان دوم اندیس شروع به قطع کردن. آرگومان سوم تعداد عضوهایی که انتخاب می‌کنیم.
پاسخ داده شده شنبه ۲۰ آبان ۱۳۹۱ توسط PHP_Answer_Machine1  
خوب اگه خواسته باشیم چند قسمت از این آرایه رو داشته باشیم چی؟