উপবৃত্তির জন্য টিডব্লিউও ব্যবহার রয়েছে (...) পিএইচপি টোকেন themএর মধ্যে একটি অ্যারে প্যাকিং এবং একটি অ্যারে আনপ্যাকিং হিসাবে বিবেচনা করুন । উভয় উদ্দেশ্য আর্গুমেন্ট ফাংশন প্রয়োগ।
প্যাক
যখন একটি ফাংশন সংজ্ঞা, যদি আপনি ফাংশন প্রদান করা ভেরিয়েবল একটি গতিশীল সংখ্যা প্রয়োজন (অর্থাত, তুমি কি জান না কত যুক্তি হল যে ফাংশন যখন কোডে নামে প্রদান করা হবে) ব্যবহার ঊহ্য শব্দ (...) টোকেন থেকে ফাংশন ব্লকের ভিতরে অ্যাক্সেসযোগ্য এমন অ্যারেতে সেই ফাংশনটিতে সরবরাহ করা সমস্ত আর্গুমেন্ট ক্যাপচার করুন। উপবৃত্ত (...) দ্বারা বন্দী গতিশীল আর্গুমেন্টের সংখ্যা শূন্য বা আরও বেশি হতে পারে।
উদাহরণস্বরূপ :
// function definition
function sum(...$numbers) { // use ellipsis token when defining function
$acc = 0;
foreach ($numbers as $nn) {
$acc += $nn;
}
return $acc;
}
// call the function
echo sum(1, 2, 3, 4); // provide any number of arguments
> 10
// and again...
echo sum(1, 2, 3, 4, 5);
> 15
// and again...
echo sum();
> 0
যখন প্যাকিংটি ফাংশন ইনস্ট্যান্টেশন ব্যবহার করা হয়, তখন এলিপসিস (...) বাকী সমস্ত আর্গুমেন্টগুলি ক্যাপচার করে , অর্থাত্, আপনার এখনও অনেকগুলি প্রাথমিক, স্থির (অবস্থানিক) আর্গুমেন্ট থাকতে পারে:
function sum($first, $second, ...$remaining_numbers) {
$acc = $first + $second;
foreach ($remaining_numbers as $nn) {
$acc += $nn;
}
return $acc;
}
// call the function
echo sum(1, 2); // provide at least two arguments
> 3
// and again...
echo sum(1, 2, 3, 4); // first two are assigned to fixed arguments, the rest get "packed"
> 10
মোড়ক খোলা
অন্যথা, যখন একটি ফাংশন কলিং, যদি আর্গুমেন্ট আপনি যে ফাংশন প্রদান পূর্বে একটি অ্যারের মধ্যে একত্রিত করা হয় ব্যবহার ঊহ্য শব্দ (...) টোকেন পৃথক ফাংশন-প্রতিটি অ্যারের উপাদানে প্রদত্ত যুক্তিগুলির মধ্যে যে অ্যারের রূপান্তর করতে নিজ নিজ নির্ধারিত হয় ফাংশন সংজ্ঞায় ফাংশন আর্গুমেন্ট ভেরিয়েবলের নামকরণ।
উদাহরণ স্বরূপ:
function add($aa, $bb, $cc) {
return $aa + $bb + $cc;
}
$arr = [1, 2, 3];
echo add(...$arr); // use ellipsis token when calling function
> 6
$first = 1;
$arr = [2, 3];
echo add($first, ...$arr); // used with positional arguments
> 6
$first = 1;
$arr = [2, 3, 4, 5]; // array can be "oversized"
echo add($first, ...$arr); // remaining elements are ignored
> 6
অ্যারে বা ভেরিয়েবলগুলি ম্যানিপুলেট করতে অ্যারে ফাংশনগুলি ব্যবহার করার সময় আনপ্যাকিং বিশেষভাবে কার্যকর ।
উদাহরণস্বরূপ, অ্যারে_স্লাইসের ফলাফলটি প্যাক করা :
function echoTwo ($one, $two) {
echo "$one\n$two";
}
$steaks = array('ribeye', 'kc strip', 't-bone', 'sirloin', 'chuck');
// array_slice returns an array, but ellipsis unpacks it into function arguments
echoTwo(...array_slice($steaks, -2)); // return last two elements in array
> sirloin
> chuck