تماس با ما

موبایل: 2565 038 0912

دفتر تهران: 2565 2842 021

دفتر گرگان: 2565 3233 017


توابع کار با آرایه در PHP - قسمت یازدهم (بخش3)

در دو مطلب گذشته از بخش آموزش برنامه نویسی PHP، قسمتی از توابع از پیش تعریف شده کار با آرایه را با هم بررسی کردیم، توابعی که هر کدام در شرایط خاصی ممکن است به کارمان بیایند و رهگشا باشند، همچنین پیش از این گفتیم که مبحث آرایه ها جزء کلیدی ترین مباحث در اغلب زبان های برنامه نویسی و به تبع PHP به حساب می آید که درک آن می تواند گامی کلیدی در نوشتن برنامه هایی با ساختار بهتر، پیچیده تر و در عین حال بهینه تر باشد، به جهت اهمیت و گستره کاربرد این مسئله است که توسعه دهنده گان مفسر PHP، توابع از پیش تعریف شده زیادی برای آن در نظر گرفته اند که در ادامه با بخش دیگری از آنها آشنا خواهیم شد

تابع array_pop
تابع array_pop برای حذف یک کلید و مقدار آن از انتهای آرایه استفاده و سپس مقادیر حذف شده به عنوان خروجی برگردانده می شود، مثال:


<?php
$array = array(1, 2, 3, 4, 5);
$array_pop = array_pop($array);
print_r($array);
echo $array_pop;
?>

که نتیجه دستور print_r برابر خواهد بود با:


Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

و نتیجه دستور echo برابر خواهد بود با:


5

نکته: در صورتی که آرگومان تابع یک آرایه نباشد، یا آرایه هیچ عضوی نداشته باشد، مقادیر  NULL برگردانده می شود.
تابع array_product
تابع array_product مجموع حاصل ضرب مقادیر کلید های یک آرایه را برمی گرداند، خروجی می تواند به صورت یک عدد صحیح (integer) یا اعشاری (float) باشد، مثال:


<?php
$array = array(1, 2, 3, 4, 5);
$array_product = array_product($array);
echo $array_product;
?>

که نتیجه برابر 120 خواهد بود (1*2*3*4*5).
نکته: نتیجه product برای آرایه های خالی مقادیر 1 خواهد بود.
تابع array_push
تابع array_push برای اضافه کردن یک یا چند مقدار به انتهای آرایه استفاده می شود، حاصل این تابع آرایه ای جدید است که موارد مورد نظر به انتهای آن افزوده شده اند، مثال:


<?php
$array = array(1, 2, 3, 4, 5);
array_push($array, '6', '7');
print_r($array);
?>

خروجی مثال بالا برابر خواهد بود با:


Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
)

نکته: در صورتی که آرگومان اول این تابع یک آرایه نباشد، خطایی از نوع E_WARNING دریافت خواهید کرد.
تابع array_rand
تابع array_rand برای پیدا کردن کلیدهای اتفاقی در یک آرایه استفاده می شوند، به طور مثال:


<?php
$array = array('HTML', 'CSS', 'javascript', 'PHP', 'MySQL');
$array_rand = array_rand($array, 2);
print_r($array_rand);
?>

 

خروجی مثال بالا به صورت اتفاقی برابر خواهد بود با:


Array
(
    [0] => 0
    [1] => 4
)

نکته: در صورتی که آرگومان دوم این تابع بیشتر از تعداد عناصر آرایه باشد، خطایی از نوع E_WARNING دریافت خواهید کرد.
تابع array_reduce
تابع array_reduce در یک دور تکرار، حاصل جمع تمام مقادیر یک آرایه را با استفاده از یک تابع برگشتی (callback function) بر می گرداند، در صورتی که آرگومان سوم این تابع تنظیم شده باشد، به عنوان آرگومان اول تابع برگشتی عمل می کند، مثال های زیر می توانند به درک نحوه عملکرد تابع array_reduce کمک کنند.


<?php
function CallBack($result, $item){
    $result += $item;
    return $result;
}
$array = array(1, 2, 3, 4, 5);
$a = array_reduce($array, "CallBack");
//1 + 2 + 3 + 4 + 5
echo $a;
?>

خروجی دستور echo برابر 15 خواهد بود.
مثالی دیگر:


<?php
function CallBack($result, $item){
    $result -= $item;
    return $result;
}
$array = array(1, 2, 3, 4, 5);
$a = array_reduce($array, "CallBack", 20);
//20 - (1 + 2 + 3 + 4 + 5)
echo $a;
?>

خروجی دستور echo برابر 5 خواهد بود.
تابع array_replace
تابع array_replace مقادیر آرایه اول (آرگومان اول) را با مقادیر مشابه آرایه یا آرایه های دیگر (آرگومان دوم، سوم و...) جایگزین می کند، اگر یک کلید در آرایه اول و دوم وجود داشته باشد، مقادیر آن در آرایه اول با مقادیر موجود در آرایه دوم جایگزین می شود، مثال زیر می تواند به درک نحوه کارکرد این تابع کمک کند.


<?php
$array_1 = array('HTML' => 3, 'javascript' => 5, 'PHP' => 2, 'AJAX' => 8, 'JAVA' => 4);
$array_2 = array('Python' => array(1, 3, 5), 'Ruby' => 6, 'MySQL' => array(7, 2, 0), 'javascript' => 9, 'JAVA' => 3);
$result = array_replace($array_1, $array_2);
print_r($result);
?>

خروجی مثال بالا به صورت زیر خواهد بود.


Array
(
    [HTML] => 3
    [javascript] => 9
    [PHP] => 2
    [AJAX] => 8
    [JAVA] => 3
    [Python] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 5
        )

با دقت در مثال بالا متوجه می شویم که کلید javascript و JAVA با دومین مقدار مشترک به خروجی فرستاده شده.
نکته 1: تابع array_replace از نسخه PHP 5 >= 5.3.0 افزوده شده.
نکته 2: تابعی دیگری مشابه این تابع با نام array_replace_recursive وجود دارد که در برخی حالت ها، خروجی متفاوتی ایجاد می کند.
تابع array_reverse
تابع array_reverse برای تغییر چینش عناصر یک آرایه به صورت معکوس به کار می رود، در صورتی که آرگومان دوم این تابع (با مقادیر TRUE) تنظیم شود، چینش کلیدها نیز تغییر می کنند، مثال:


<?php
$array = array(1, 2, 3, 4, 5);
$result = array_reverse($array, true);
print_r($result);
?>

خروجی مثال بالا به صورت زیر خواهد بود.


Array
(
    [4] => 5
    [3] => 4
    [2] => 3
    [1] => 2
    [0] => 1
)

تابع array_search
تابع array_search برای به دست آوردن یک کلید از آرایه بر مبنای مقادیر متناظر آن به کار می رود، در واقع آرگومان در اینجا یک مقدار است که این تابع با جستجو در آرایه، کلید متناظر با آن را (در صورت پیدا شدن) برمی گرداند، مثال:


<?php
$array = array('HTML', 'PHP', 'MySQL');
$result = array_search('PHP', $array);
echo $result;
?>

که خروجی برابر 1 خواهد بود.
نکته: در صورتی که آرگومان سوم این تابع (با مقادیر TRUE) تنظیم شده باشد، جستجو به صورت strict یا سختگیرانه انجام شده که در این حالت مواردی مانند نوع داده ها (int, string و...) نیز باید کاملا یکسان باشد.
تابع array_shift
تابع array_shift برای حذف یک کلید و مقدار آن از ابتدای آرایه استفاده می شود، خروجی این تابع (مانند تابع array_pop) آرایه ای جدید است، مثال:


<?php
$array = array(1, 2, 3, 4, 5);
$array_shift = array_shift($array);
print_r($array);
echo $array_shift;
?>

که نتیجه دستور print_r برابر خواهد بود با:


Array
(
    [0] => 2
    [1] => 3
    [2] => 4
    [3] => 5
)

و نتیجه دستور echo برابر خواهد بود با:


1

تابع array_slice
تابع array_slice برای تجزیه یک آرایه و دریافت قسمت خاصی از آن به عنوان خروجی استفاده می شود، این تابع حداکثر تا چهار آرگومان به شرح زیر می پذیرد:
- array : آرگومان اول این تابع همان آرایه ای است که قصد برش قسمت خاصی از آن را داریم.
- offset : نقطه شروع برش را به صورت عددی مشخص می کند، در صورتی که این مقدار منفی باشد، نقطه برش از انتهای آرایه محاسبه می شود.
- length : طول برش را مشخص می کند، در صورتی که طول برش از عناصر موجود در آرایه بیشتر باشد، تنها عناصر موجود به خروجی ارسال می شوند.
- preserve_keys : اگر با مقادیر TRUE تنظیم شده باشد، شماره کلیدها در آرایه خروجی بدون تغییر و همان شماره کلید آرایه اصلی خواهد بود (در غیر این صورت شمارش از صفر شروع و به انتها ختم می شود).
مثال:


<?php
$array = array('a', 'b', 'c', 'd', 'e');
$array_slice = array_slice($array, 3);
print_r($array_slice);
$array_slice = array_slice($array, 3, 1);
print_r($array_slice);
$array_slice = array_slice($array, -3, 2);
print_r($array_slice);
?>

خروجی مثال بالا به صورت زیر خواهد بود:


Array
(
    [0] => d
    [1] => e
)
Array
(
    [0] => d
)
Array
(
    [0] => c
    [1] => d
)

تابع array_splice
تابع array_splice برای حذف قسمتی خاص از آرایه و جایگزینی آن با مقادیر جدید استفاده می شود، این تابع حداکثر می تواند چهار آرگومان به شرح زیر داشته باشد:
- array : آرگومان اول این تابع همان آرایه ای است که قصد حذف قسمت خاصی از آن را داریم.
- offset : نقطه شروع حذف را به صورت عددی مشخص می کند، در صورتی که این مقدار مثبت باشد، نقطه حذف از offset و ماقبل آن محاسبه و در صورتی که منفی باشد، نقطه حذف از انتهای آرایه و مابعد نقطه offset محاسبه می شود.
- length : این پارامتر در اینجا رفتاری متفاوت دارد، اگر با مقادیر مثبت تنظیم شود، به همان تعداد از عناصر بعد از offset حفظ و مابقی حذف می شوند (در صورتی که مقادیر offset بزرگتر یا مساوی length باشد، در حذف عناصر، الویت با offset است و length نادیده گرفته می شود)، اگر  با مقادیر منفی تنظیم شود، رفتار آن به انتهای آرایه معطوف می شود (برای درک بهتر می توانید چند مثال فرضی بنویسید و با print_r از آنها خروجی بگیرید).
- replacement : اگر این پارامتر تنظیم شود، مقادیر حذف شده با مقادیر جدید جایگزین می شوند، در صورتی که تنظیمات قسمت offset و length به گونه ای باشد که مقادیری از آرایه اصلی حذف نشود، در این حالت مقادیر جدید بر اساس offset به آرایه اصلی اضافه می شوند (کلیدها در این حالت preserve یا از پیش تعریف شده نیستند و لذا شمارش از صفر شروع و به انتها ختم می شود).
نکته: به نظر این تابع رفتار خیلی مشخص و یکسانی در تمام نسخه های PHP ندارد، لذا آشنایی در حد اولیه با آن کافی خواهد بود!
مثال:


<?php
$array = array('a', 'b', 'c', 'd', 'e');
$array_splice = array_splice($array, 3);
print_r($array_splice);
$array_splice = array_splice($array, 2, 1);
print_r($array_splice);
?>

خروجی:


Array
(
    [0] => d
    [1] => e
)
Array
(
    [0] => c
)

تابع array_sum
تابع array_sum برای محاسبه حاصل جمع مقادیر عددی یک آرایه کاربرد دارد، مثال:


<?php
$array = array(1, 4, 6);
$array_sum = array_sum($array);
echo $array_sum;
?>

ه نتیجه برابر 11 خواهد بود.
این مبحث را در آموزش های بعدی همچنان ادامه خواهیم داد.


سفارش طراحی سایت

سفارش طراحی سایت

google
yahoo
alexa
ebook
Baidu.com
Wikipedia
Blogger.com
Windows Live
Amazon.com
eBay
Bing
Ask
استانداری گلستان
f shdj, sefaresh, sefaresh .net, sefaresh.net, sthva, sthva nhj kj, sthva.kj, stthva.kj, xvhpd, آیفون, استفاده, اندروید, اپل, اپلیکیشن, اینترنت, باتری, بازار, بازی, دستگاه, دوربین, سامسونگ, سفارش, سفارش دات نت, سفارش دات نت sefaresh.net, سفارش.نت, سیستم, طراح وب, طراحي وب سايت, طراحی, طراحی وب سایت, فناوری, مایکروسافت, موبایل, هوشمند, کاربران, کمپانی, گلکسی, گوشی, گوشی هوشمند, گوگل

نمایش تمامی تگ ها
بسته ویژه مدارس مدارس
بسته ویژه پزشکان پزشکان
بسته ویژه مهندسین مهندسین