Lodash-PHP เป็นพอร์ตของไลบรารี Lodash JS ไปยัง PHP เป็นชุดฟังก์ชันยูทิลิตี้ที่ใช้งานง่ายสำหรับโปรเจ็กต์ PHP ในชีวิตประจำวัน
Lodash-PHP พยายามเลียนแบบ lodash.js ให้ใกล้เคียงที่สุด
Lodash-PHP ต้องการ PHP ขั้นต่ำ 7.2+ แต่แนะนำให้ใช้ PHP เวอร์ชันล่าสุดเสมอ
ติดตั้ง Lodash-PHP ผ่านผู้แต่ง:
$ composer require lodash-php/lodash-php
แต่ละวิธีใน Lodash-PHP เป็นฟังก์ชันแยกต่างหากที่สามารถนำเข้าและใช้งานได้เอง
<?php
use function _ each ;
each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
Lodash-PHP ยังมาพร้อมกับคลาส _
ระดับโลกที่สามารถใช้ได้ทั่วโลก
<?php
_:: each ([ 1 , 2 , 3 ], function ( int $ item ) {
var_dump ( $ item );
});
สร้างอาร์เรย์ขององค์ประกอบที่แบ่งออกเป็นกลุ่มตามความยาวของ size
หากไม่สามารถแบ่ง array
เท่าๆ กัน ส่วนสุดท้ายจะเป็นองค์ประกอบที่เหลือ
ข้อโต้แย้ง:
@param array $array array อาร์เรย์ที่จะประมวลผล
@param int $number [size=1] ความยาวของแต่ละอัน
กลับ:
@return array ส่งกลับอาร์เรย์ใหม่ของชิ้นส่วน
ตัวอย่าง:
<?php
use function _ chunk ;
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 2 )
// => [['a', 'b'], ['c', 'd']]
chunk ([ ' a ' , ' b ' , ' c ' , ' d ' ], 3 )
// => [['a', 'b', 'c'], ['d']]
สร้างอาร์เรย์โดยลบค่าเท็จทั้งหมดออก ค่า false
, null
, 0
, ""
, undefined
และ NaN
เป็นเท็จ
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะกระชับ
กลับ:
@return array ส่งกลับอาร์เรย์ใหม่ของค่าที่กรอง
ตัวอย่าง:
<?php
use function _ compact ;
compact ([ 0 , 1 , false , 2 , '' , 3 ])
// => [1, 2, 3]
สร้างอาร์เรย์ใหม่ที่เชื่อม array
เข้ากับอาร์เรย์และ/หรือค่าเพิ่มเติม
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะต่อกัน
@param array<int, mix> $values ค่าที่จะต่อกัน
กลับ:
@return array ส่งกลับอาร์เรย์ที่ต่อกันใหม่
ตัวอย่าง:
<?php
use function _ concat ;
$ array = [ 1 ];
$ other = concat ( $ array , 2 , [ 3 ], [[ 4 ]]);
var_dump ( $ other )
// => [1, 2, 3, [4]]
var_dump ( $ array )
// => [1]
สร้างอาร์เรย์ของค่า array
ที่ไม่รวมอยู่ในอาร์เรย์ที่กำหนดอื่นๆ โดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก
หมายเหตุ: ไม่เหมือนกับ pullAll
เมธอดนี้จะส่งคืนอาร์เรย์ใหม่
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param array ...$values ค่าที่จะแยกออก
กลับ:
@return array ส่งกลับอาร์เรย์ใหม่ของค่าที่กรอง
ตัวอย่าง:
<?php
use function _ difference ;
difference ([ 2 , 1 ], [ 2 , 3 ])
// => [1]
วิธีการนี้เหมือนกับ difference
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบของ array
และ values
เพื่อสร้างเกณฑ์ที่ใช้เปรียบเทียบ ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
หมายเหตุ: ไม่เหมือนกับ pullAllBy
เมธอดนี้จะส่งคืนอาร์เรย์ใหม่
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param array<int, mix> ...$values ค่าที่จะยกเว้น
@param callable $iteratee ตัววนซ้ำที่ถูกเรียกใช้ต่อองค์ประกอบ
กลับ:
@return array ส่งกลับอาร์เรย์ใหม่ของค่าที่กรอง
ตัวอย่าง:
<?php
use function _ differenceBy ;
differenceBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], ' floor ' )
// => [1.2]
วิธีการนี้เหมือนกับ difference
ยกเว้นว่ายอมรับ comparator
ซึ่งถูกเรียกใช้เพื่อเปรียบเทียบองค์ประกอบของ array
กับ values
ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก ตัวเปรียบเทียบถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (arrVal, othVal)
หมายเหตุ: ไม่เหมือนกับ pullAllWith
เมธอดนี้จะส่งคืนอาร์เรย์ใหม่
ข้อโต้แย้ง:
@param array<int, mix> $array อาร์เรย์ที่จะตรวจสอบ
@param array ...$values ค่าที่จะแยกออก
@param callable $comparator ตัวเปรียบเทียบที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array ส่งกลับอาร์เรย์ใหม่ของค่าที่กรอง
ตัวอย่าง:
<?php
use function _ differenceWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
differenceWith ( $ objects , [[ ' x ' => 1 , ' y ' => 2 ]], ' _::isEqual ' )
// => [[ 'x' => 2, 'y' => 1 ]]
สร้างส่วนของ array
โดยมีองค์ประกอบ n
รายการหลุดตั้งแต่ต้น
หมายเหตุ: ฟังก์ชั่นนี้จะเรียงลำดับใหม่และรีเซ็ตดัชนีอาร์เรย์
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param int $n จำนวนองค์ประกอบที่จะดรอป
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ drop ;
drop ([ 1 , 2 , 3 ])
// => [2, 3]
drop ([ 1 , 2 , 3 ], 2 )
// => [3]
drop ([ 1 , 2 , 3 ], 5 )
// => []
drop ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3]
สร้างส่วนของ array
โดยมีองค์ประกอบ n
รายการหลุดจากจุดสิ้นสุด หมายเหตุ: ฟังก์ชั่นนี้จะเรียงลำดับใหม่และรีเซ็ตดัชนีอาร์เรย์
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param int $n จำนวนองค์ประกอบที่จะดรอป
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ dropRight ;
dropRight ([ 1 , 2 , 3 ])
// => [1, 2]
dropRight ([ 1 , 2 , 3 ], 2 )
// => [1]
dropRight ([ 1 , 2 , 3 ], 5 )
// => []
dropRight ([ 1 , 2 , 3 ], 0 )
// => [1, 2, 3]
สร้างส่วนของ array
โดยไม่รวมองค์ประกอบที่ตกจากจุดสิ้นสุด องค์ประกอบจะถูกละทิ้งจนกว่า predicate
จะส่งกลับค่าเท็จ เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ dropRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
]
dropRightWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for ['barney']
สร้างส่วนของ array
โดยไม่รวมองค์ประกอบที่ตกจากจุดเริ่มต้น องค์ประกอบจะถูกละทิ้งจนกว่า predicate
จะส่งกลับค่าเท็จ เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ dropWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
dropWhile ( $ users , function ( $ user ) { return $ user [ ' active ' ]; } )
// => objects for ['pebbles']
ตรวจสอบว่า predicate
ส่งคืนความจริงสำหรับองค์ประกอบ ทั้งหมด ของ array
หรือไม่ การวนซ้ำจะหยุดลงเมื่อ predicate
ส่งคืนค่าเท็จ เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
หมายเหตุ: วิธีการนี้จะคืนค่า true
สำหรับอาร์เรย์ว่าง เนื่องจากทุกองค์ประกอบของอาร์เรย์ว่างจะเป็นจริง
ข้อโต้แย้ง:
@param iterable $collection อาร์เรย์ที่จะวนซ้ำ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return bool true
หากองค์ประกอบทั้งหมดผ่านการตรวจสอบเพรดิเคต มิฉะนั้นจะ false
ตัวอย่าง:
<?php
use function _ every ;
every ([ true , 1 , null , ' yes ' ], function ( $ value ) { return is_bool ( $ value );})
// => false
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
];
// The `matches` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]));
// false
// The `matchesProperty` iteratee shorthand.
$ this -> assertTrue ( every ( $ users , [ ' active ' , false ]));
// true
// The `property` iteratee shorthand.
$ this -> assertFalse ( every ( $ users , ' active ' ));
//false
เมธอดนี้เหมือนกับ find
ยกเว้นว่ามันจะส่งคืนดัชนีของเพรดิเคตองค์ประกอบแรกส่งคืนความจริงแทนองค์ประกอบนั้นเอง
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return int ดัชนีขององค์ประกอบที่พบ มิฉะนั้น -1
ตัวอย่าง:
<?php
use function _ findIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => true ],
];
findIndex ( $ users , function ( $ o ) { return $ o [ ' user ' ] s== ' barney ' ; });
// => 0
// The `matches` iteratee shorthand.
findIndex ( $ users , [ ' user ' => ' fred ' , ' active ' => false ]);
// => 1
// The `matchesProperty` iteratee shorthand.
findIndex ( $ users , [ ' active ' , false ]);
// => 0
// The `property` iteratee shorthand.
findIndex ( $ users , ' active ' );
// => 2
เมธอดนี้เหมือนกับ findIndex
ยกเว้นว่ามันจะวนซ้ำองค์ประกอบของ collection
จากขวาไปซ้าย
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param ผสม $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return int ดัชนีขององค์ประกอบที่พบ มิฉะนั้น -1
ตัวอย่าง:
<?php
use function _ findLastIndex ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
findLastIndex ( $ users , function ( $ user ) { return $ user [ ' user ' ] === ' pebbles ' ; })
// => 2
ทำให้ array
เรียบขึ้นในระดับเดียว
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแบน
กลับ:
@return array อาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flatten ;
flatten ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]])
// => [1, 2, [3, [4]], 5]
array
ซ้ำ ๆ
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแบน
กลับ:
@return array ส่งกลับอาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flattenDeep ;
flattenDeep ([ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]);
// => [1, 2, 3, 4, 5]
แผ่ array
ซ้ำ ๆ จนถึง depth
ครั้ง
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแบน
@param int $deep ความลึกของการเรียกซ้ำสูงสุด
กลับ:
@return array อาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flattenDepth ;
$ array = [ 1 , [ 2 , [ 3 , [ 4 ]], 5 ]]
flattenDepth ( $ array , 1 )
// => [1, 2, [3, [4]], 5]
flattenDepth ( $ array , 2 )
// => [1, 2, 3, [4], 5]
ค่าผกผันของ toPairs
เมธอดนี้จะส่งคืนออบเจ็กต์ที่ประกอบด้วย pairs
คีย์-ค่า
ข้อโต้แย้ง:
@param array $pairs คู่คีย์-ค่า
กลับ:
@return stdClass วัตถุใหม่
ตัวอย่าง:
<?php
use function _ fromPairs ;
fromPairs ([[ ' a ' , 1 ], [ ' b ' , 2 ]])
// => stdClass(
// 'a' => 1,
//'b' => 2,
// )
รับองค์ประกอบแรกของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
กลับ:
@return ผสม ส่งคืนองค์ประกอบแรกของ array
ตัวอย่าง:
<?php
use function _ head ;
head ([ 1 , 2 , 3 ])
// => 1
head ([])
// => null
รับดัชนีที่พบ value
ที่เกิดขึ้นครั้งแรกใน array
โดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน หาก fromIndex
เป็นค่าลบ ระบบจะใช้เป็นค่าชดเชยจากจุดสิ้นสุดของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param ผสม $value ค่าที่จะค้นหา
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return int ดัชนีของค่าที่ตรงกัน มิฉะนั้น -1
ตัวอย่าง:
<?php
use function _ indexOf ;
indexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 1
// Search from the `fromIndex`.
indexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 3
รับทั้งหมดยกเว้นองค์ประกอบสุดท้ายของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ initial ;
initial ([ 1 , 2 , 3 ])
// => [1, 2]
สร้างอาร์เรย์ของค่าที่ไม่ซ้ำกันซึ่งรวมอยู่ในอาร์เรย์ที่กำหนดทั้งหมดโดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก
ข้อโต้แย้ง:
@param อาร์เรย์ ...$arrays
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่ตัดกัน
ตัวอย่าง:
<?php
use function _ intersection ;
intersection ([ 2 , 1 ], [ 2 , 3 ])
// => [2]
วิธีการนี้เป็นเหมือน intersection
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบของแต่ละ arrays
เพื่อสร้างเกณฑ์ที่ใช้เปรียบเทียบ ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
ข้อโต้แย้ง:
@param array<int, mix> ...$arrays
@param callable $iteratee ตัววนซ้ำที่ถูกเรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่ตัดกัน
ตัวอย่าง:
<?php
use function _ intersectionBy ;
intersectionBy ([ 2.1 , 1.2 ], [ 2.3 , 3.4 ], Math.floor)
// => [2.1]
// The `property` iteratee shorthand.
intersectionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [[ 'x' => 1 ]]
วิธีการนี้เหมือนกับ intersection
ยกเว้นว่าจะยอมรับ comparator
ซึ่งถูกเรียกใช้เพื่อเปรียบเทียบองค์ประกอบของ arrays
ลำดับและการอ้างอิงค่าผลลัพธ์ถูกกำหนดโดยอาร์เรย์แรก ตัวเปรียบเทียบถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (arrVal, othVal)
ข้อโต้แย้ง:
@param อาร์เรย์ ...$arrays
@param callable $comparator ตัวเปรียบเทียบที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่ตัดกัน
ตัวอย่าง:
<?php
use function _ intersectionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
intersectionWith ( $ objects , $ others , ' _::isEqual ' )
// => [[ 'x' => 1, 'y' => 2 ]]
รับองค์ประกอบสุดท้ายของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
กลับ:
@return ผสม ส่งคืนองค์ประกอบสุดท้ายของ array
ตัวอย่าง:
<?php
use function _ last ;
last ([ 1 , 2 , 3 ])
// => 3
วิธีการนี้เหมือนกับ indexOf
ยกเว้นว่ามันจะวนซ้ำองค์ประกอบของ array
จากขวาไปซ้าย
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param ผสม $value ค่าที่จะค้นหา
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return int ดัชนีของค่าที่ตรงกัน มิฉะนั้น -1
ตัวอย่าง:
<?php
use function _ lastIndexOf ;
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 )
// => 3
// Search from the `fromIndex`.
lastIndexOf ([ 1 , 2 , 1 , 2 ], 2 , 2 )
// => 1
รับองค์ประกอบที่ดัชนี n
ของ array
ถ้า n
เป็นลบ องค์ประกอบที่ n จากจุดสิ้นสุดจะถูกส่งกลับ
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param int $n ดัชนีขององค์ประกอบที่จะส่งคืน
กลับ:
@return ผสม ส่งคืนองค์ประกอบที่ n ของ array
ตัวอย่าง:
<?php
use function _ nth ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
nth ( $ array , 1 )
// => 'b'
nth ( $ array , - 2 )
// => 'c'
ลบค่าที่กำหนดทั้งหมดออกจาก array
โดยใช้ SameValueZero
เพื่อการเปรียบเทียบความเท่าเทียมกัน
หมายเหตุ: วิธีการนี้จะกลายพันธุ์ array
ต่างจาก without
ใช้ remove
เพื่อลบองค์ประกอบออกจากอาร์เรย์ด้วยเพรดิเคต
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param array<int, string> $values ค่าที่ต้องการลบ
กลับ:
@ส่งคืนอาร์เรย์
ตัวอย่าง:
<?php
use function _ pull ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pull ( $ array , ' a ' , ' c ' )
var_dump ( $ array )
// => ['b', 'b']
วิธีการนี้เหมือนกับ pull
ยกเว้นว่าจะยอมรับอาร์เรย์ของค่าที่จะลบออก
หมายเหตุ: วิธีการนี้จะกลายพันธุ์ array
ซึ่งแตกต่างจาก difference
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param array $values ค่าที่จะลบ
กลับ:
@return array
อาร์เรย์
ตัวอย่าง:
<?php
use function _ pullAll ;
$ array = [ ' a ' , ' b ' , ' c ' , ' a ' , ' b ' , ' c ' ]
pullAll ( $ array , [ ' a ' , ' c ' ])
var_dump ( $ array )
// => ['b', 'b']
เมธอดนี้เหมือนกับ pullAll
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบของ array
และ values
เพื่อสร้างเกณฑ์ที่ใช้เปรียบเทียบ ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
หมายเหตุ: วิธีการนี้จะกลายพันธุ์ array
ซึ่งแตกต่างจาก differenceBy
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param array $values ค่าที่จะลบ
@param callable $iteratee ตัววนซ้ำที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array
อาร์เรย์
ตัวอย่าง:
<?php
use function _ pullAllBy ;
$ array = [[ ' x ' => 1 ], [ ' x ' => 2 ], [ ' x ' => 3 ], [ ' x ' => 1 ]]
pullAllBy ( $ array , [[ ' x ' => 1 ], [ ' x ' => 3 ]], ' x ' )
var_dump ( $ array )
// => [[ 'x' => 2 ]]
เมธอดนี้เหมือนกับ pullAll
ยกเว้นว่าจะยอมรับ comparator
ซึ่งถูกเรียกใช้เพื่อเปรียบเทียบองค์ประกอบของ array
กับ values
ตัวเปรียบเทียบถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (arrVal, othVal)
หมายเหตุ: วิธีการนี้จะกลายพันธุ์ array
ซึ่งแตกต่างจาก differenceWith
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param array $values ค่าที่จะลบ
@param callable $comparator ตัวเปรียบเทียบที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array
อาร์เรย์
ตัวอย่าง:
<?php
use function _ pullAllWith ;
$ array = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 3 , ' y ' => 4 ], [ ' x ' => 5 , ' y ' => 6 ]]
pullAllWith ( $ array , [[ ' x ' => 3 , ' y ' => 4 ]], ' _isEqual ' )
var_dump ( $ array )
// => [[ 'x' => 1, 'y' => 2 ], [ 'x' => 5, 'y' => 6 ]]
ลบองค์ประกอบออกจาก array
ที่สอดคล้องกับ indexes
และส่งกลับอาร์เรย์ขององค์ประกอบที่ถูกลบ
หมายเหตุ: วิธีนี้แตกต่างจาก at
ตรงที่เปลี่ยน array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param (int | int[]) $indexes ดัชนีขององค์ประกอบที่จะลบ
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่ถูกลบ
ตัวอย่าง:
<?php
use function _ pullAt ;
$ array = [ ' a ' , ' b ' , ' c ' , ' d ' ]
$ pulled = pullAt ( $ array , [ 1 , 3 ])
var_dump ( $ array )
// => ['a', 'c']
var_dump ( $ pulled )
// => ['b', 'd']
ลบองค์ประกอบทั้งหมดออกจาก array
ที่ predicate
ส่งคืนความจริงและส่งกลับอาร์เรย์ขององค์ประกอบที่ถูกลบออก เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
หมายเหตุ: วิธีนี้แตกต่างจาก filter
ตรงที่เปลี่ยน array
ใช้ pull
เพื่อดึงองค์ประกอบจากอาร์เรย์ตามค่า
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแก้ไข
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่ถูกลบ
ตัวอย่าง:
<?php
use function _ remove ;
$ array = [ 1 , 2 , 3 , 4 ]
$ evens = remove ( $ array , function ( $ n ) { return $ n % 2 === 0 ; })
var_dump ( $ array )
// => [1, 3]
var_dump ( $ evens )
// => [2, 4]
รับองค์ประกอบแบบสุ่มจาก array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสุ่มตัวอย่าง
กลับ:
@return ผสม ส่งคืนองค์ประกอบสุ่ม
ตัวอย่าง:
<?php
use function _ sample ;
sample ([ 1 , 2 , 3 , 4 ])
// => 2
รับองค์ประกอบแบบสุ่ม n
รายการด้วยคีย์เฉพาะจาก array
จนถึงขนาดของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสุ่มตัวอย่าง
@param int $n จำนวนองค์ประกอบที่ต้องการสุ่มตัวอย่าง
กลับ:
@return อาร์เรย์องค์ประกอบสุ่ม
ตัวอย่าง:
<?php
use function _ sampleSize ;
sampleSize ([ 1 , 2 , 3 ], 2 )
// => [3, 1]
sampleSize ([ 1 , 2 , 3 ], 4 )
// => [2, 3, 1]
สร้างอาร์เรย์ของค่าที่สับเปลี่ยน
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสับเปลี่ยน
กลับ:
@return array อาร์เรย์สับใหม่
ตัวอย่าง:
<?php
use function _ shuffle ;
shuffle ([ 1 , 2 , 3 , 4 ])
// => [4, 1, 3, 2]
สร้างส่วนของ array
ตั้งแต่ start
ต้นจนถึง end
แต่ไม่รวม
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะแบ่งส่วน
@param int $start ตำแหน่งเริ่มต้น
@param int $end ตำแหน่งสิ้นสุด
กลับ:
@return array ส่วนของ array
รับทั้งหมดยกเว้นองค์ประกอบแรกของ array
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ tail ;
tail ([ 1 , 2 , 3 ])
// => [2, 3]
สร้างส่วนของ array
ที่มี n
องค์ประกอบที่นำมาจากจุดเริ่มต้น
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param int $n จำนวนองค์ประกอบที่ต้องการ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ take ;
take ([ 1 , 2 , 3 ])
// => [1]
take ([ 1 , 2 , 3 ], 2 )
// => [1, 2]
take ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
take ([ 1 , 2 , 3 ], 0 )
// => []
สร้างส่วนของ array
ที่มี n
องค์ประกอบที่นำมาจากจุดสิ้นสุด
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param int $n จำนวนองค์ประกอบที่ต้องการ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ takeRight ;
takeRight ([ 1 , 2 , 3 ])
// => [3]
takeRight ([ 1 , 2 , 3 ], 2 )
// => [2, 3]
takeRight ([ 1 , 2 , 3 ], 5 )
// => [1, 2, 3]
takeRight ([ 1 , 2 , 3 ], 0 )
// => []
สร้างส่วนของ array
ที่มีองค์ประกอบที่นำมาจากจุดสิ้นสุด องค์ประกอบจะถูกนำไปใช้จนกว่า predicate
จะส่งกลับเท็จ เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ takeRightWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => false ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => true ]
];
takeRightWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['fred', 'pebbles']
สร้างส่วนของ array
ที่มีองค์ประกอบที่นำมาจากจุดเริ่มต้น องค์ประกอบจะถูกนำไปใช้จนกว่า predicate
จะส่งกลับเท็จ เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะสอบถาม
@param ผสม $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่วนของ array
ตัวอย่าง:
<?php
use function _ takeWhile ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' active ' => false ]
]
takeWhile ( $ users , function ( $ value ) { return $ value [ ' active ' ]; })
// => objects for ['barney', 'fred']
สร้างอาร์เรย์ของค่าที่ไม่ซ้ำกันตามลำดับจากอาร์เรย์ที่กำหนดทั้งหมดโดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน
ข้อโต้แย้ง:
@param array ...$arrays อาร์เรย์ที่จะตรวจสอบ
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่รวมกัน
ตัวอย่าง:
<?php
use function _ union ;
union ([ 2 ], [ 1 , 2 ])
// => [2, 1]
วิธีการนี้เหมือนกับ union
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบของแต่ละ arrays
เพื่อสร้างเกณฑ์ในการคำนวณเอกลักษณ์ ค่าผลลัพธ์จะถูกเลือกจากอาร์เรย์แรกที่ค่านั้นเกิดขึ้น ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (ค่า)
ข้อโต้แย้ง:
@param array<int, mix> ...$arrays อาร์เรย์ที่จะตรวจสอบ
@param callable $iteratee ตัววนซ้ำที่ถูกเรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่รวมกัน
ตัวอย่าง:
<?php
use function _ unionBy ;
unionBy ([ 2.1 ], [ 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
// The `_::property` iteratee shorthand.
unionBy ([[ ' x ' => 1 ]], [[ ' x ' => 2 ], [ ' x ' => 1 ]], ' x ' );
// => [['x' => 1], ['x' => 2]]
วิธีการนี้เหมือนกับ union
ยกเว้นว่าจะยอมรับ comparator
ซึ่งถูกเรียกใช้เพื่อเปรียบเทียบองค์ประกอบของ arrays
ค่าผลลัพธ์จะถูกเลือกจากอาร์เรย์แรกที่ค่านั้นเกิดขึ้น ตัวเปรียบเทียบถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (arrVal, othVal)
ข้อโต้แย้ง:
@param array<int, mix> ...$arrays อาร์เรย์ที่จะตรวจสอบ
@param callable $comparator ตัวเปรียบเทียบที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่รวมกัน
ตัวอย่าง:
<?php
use function _ unionWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ]]
$ others = [[ ' x ' => 1 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
unionWith ( $ objects , $ others , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1], ['x' => 1, 'y' => 1]]
สร้างอาร์เรย์เวอร์ชันที่ไม่ซ้ำกัน โดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน โดยจะเก็บเฉพาะการปรากฏครั้งแรกของแต่ละองค์ประกอบเท่านั้น ลำดับของค่าผลลัพธ์ถูกกำหนดตามลำดับที่เกิดขึ้นในอาร์เรย์
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
กลับ:
@return array อาร์เรย์อิสระที่ซ้ำกันใหม่
ตัวอย่าง:
<?php
use function _ uniq ;
uniq ([ 2 , 1 , 2 ])
// => [2, 1]s
วิธีการนี้เหมือนกับ uniq
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบใน array
เพื่อสร้างเกณฑ์ในการคำนวณเอกลักษณ์ ลำดับของค่าผลลัพธ์ถูกกำหนดตามลำดับที่เกิดขึ้นในอาร์เรย์ ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param ผสม $iteratee ตัววนซ้ำที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์อิสระที่ซ้ำกันใหม่
ตัวอย่าง:
<?php
use function _ uniqBy ;
uniqBy ([ 2.1 , 1.2 , 2.3 ], ' floor ' )
// => [2.1, 1.2]
เมธอดนี้เหมือนกับ uniq
ยกเว้นว่าจะยอมรับ comparator
ซึ่งถูกเรียกใช้เพื่อเปรียบเทียบองค์ประกอบของ array
ลำดับของค่าผลลัพธ์ถูกกำหนดตามลำดับที่เกิดขึ้นในอาร์เรย์ ตัวเปรียบเทียบถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (arrVal, othVal)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param callable $comparator ตัวเปรียบเทียบที่เรียกใช้ต่อองค์ประกอบ
กลับ:
@return array อาร์เรย์อิสระที่ซ้ำกันใหม่
ตัวอย่าง:
<?php
use function _ uniqWith ;
$ objects = [[ ' x ' => 1 , ' y ' => 2 ], [ ' x ' => 2 , ' y ' => 1 ], [ ' x ' => 1 , ' y ' => 2 ]]
uniqWith ( $ objects , ' _::isEqual ' )
// => [['x' => 1, 'y' => 2], ['x' => 2, 'y' => 1]]
วิธีการนี้เหมือนกับ zip
ยกเว้นว่าจะยอมรับอาร์เรย์ขององค์ประกอบที่จัดกลุ่ม และสร้างอาร์เรย์ที่จัดกลุ่มองค์ประกอบใหม่ให้เป็นการกำหนดค่า pre-zip
ข้อโต้แย้ง:
@param array $array อาร์เรย์ขององค์ประกอบที่จัดกลุ่มเพื่อประมวลผล
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่จัดกลุ่มใหม่
ตัวอย่าง:
<?php
use function _ unzip ;
$ zipped = zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
unzip ( $ zipped )
// => [['a', 'b'], [1, 2], [true, false]]
เมธอดนี้เหมือนกับ unzip
ยกเว้นว่าจะยอมรับ iteratee
เพื่อระบุวิธีรวมค่าที่จัดกลุ่มใหม่ ตัววนซ้ำถูกเรียกใช้ด้วยองค์ประกอบของแต่ละกลุ่ม: (...group)
ข้อโต้แย้ง:
@param array $array อาร์เรย์ขององค์ประกอบที่จัดกลุ่มเพื่อประมวลผล
@param (เรียกได้ | null) $iteratee ฟังก์ชันเพื่อรวมค่าที่จัดกลุ่มใหม่
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่จัดกลุ่มใหม่
ตัวอย่าง:
<?php
use function _ unzipWith ;
$ zipped = zip ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ])
// => [[1, 10, 100], [2, 20, 200]]
unzipWith (zipped, ' _::add ' )
// => [3, 30, 300]
สร้างอาร์เรย์โดยไม่รวมค่าที่กำหนดทั้งหมดโดยใช้ SameValueZero
สำหรับการเปรียบเทียบความเท่าเทียมกัน
หมายเหตุ: วิธีนี้แตกต่างจาก pull
ตรงที่ส่งคืนอาร์เรย์ใหม่
ข้อโต้แย้ง:
@param array $array อาร์เรย์ที่จะตรวจสอบ
@param array<int, mix> $values ค่าที่จะยกเว้น
กลับ:
@return array อาร์เรย์ใหม่ของค่าที่กรอง
ตัวอย่าง:
<?php
use function _ without ;
without ([ 2 , 1 , 2 , 3 ], 1 , 2 )
// => [3]
สร้างอาร์เรย์ขององค์ประกอบที่จัดกลุ่ม โดยองค์ประกอบแรกประกอบด้วยองค์ประกอบแรกของอาร์เรย์ที่กำหนด องค์ประกอบที่สองประกอบด้วยองค์ประกอบที่สองของอาร์เรย์ที่กำหนด และอื่นๆ
ข้อโต้แย้ง:
@param array ...$arrays อาร์เรย์ที่จะประมวลผล
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่จัดกลุ่ม
ตัวอย่าง:
<?php
use function _ zip ;
zip ([ ' a ' , ' b ' ], [ 1 , 2 ], [ true , false ])
// => [['a', 1, true], ['b', 2, false]]
เมธอดนี้เหมือนกับ fromPairs
ยกเว้นว่ายอมรับอาร์เรย์สองตัว ตัวระบุคุณสมบัติตัวหนึ่งและค่าที่สอดคล้องกันตัวหนึ่ง
ข้อโต้แย้ง:
@param array $props ตัวระบุคุณสมบัติ
@param array $values ค่าคุณสมบัติ
กลับ:
@return วัตถุวัตถุใหม่
ตัวอย่าง:
<?php
use function _ zipObject ;
zipObject ([ ' a ' , ' b ' ], [ 1 , 2 ])
/* => object(stdClass) #210 (2) {
[ " a " ] => int( 1 )
[ " b " ] => int( 2 )
}
*/
เมธอดนี้เหมือนกับ zipObject
ยกเว้นว่ารองรับพาธคุณสมบัติ
ข้อโต้แย้ง:
@param array $props ตัวระบุคุณสมบัติ
@param array $values ค่าคุณสมบัติ
กลับ:
@return stdClass วัตถุใหม่
ตัวอย่าง:
<?php
use function _ zipObjectDeep ;
zipObjectDeep ([ ' a.b[0].c ' , ' a.b[1].d ' ], [ 1 , 2 ])
/* => class stdClass #20 (1) {
public $ a => class stdClass #19 (1) {
public $ b =>
array ( 2 ) {
[ 0 ] => class stdClass #17 (1) {
public $ c => int( 1 )
}
[ 1 ] => class stdClass #18 (1) {
public $ d => int( 2 )
}
}
}
}
*/
เมธอดนี้เหมือนกับ zip
ยกเว้นว่าจะยอมรับ iteratee
เพื่อระบุวิธีรวมค่าที่จัดกลุ่ม ตัววนซ้ำถูกเรียกใช้ด้วยองค์ประกอบของแต่ละกลุ่ม: (...กลุ่ม)
ข้อโต้แย้ง:
@param array<int, (array | callable)> ...$arrays อาร์เรย์ที่จะประมวลผล
@param callable $iteratee ฟังก์ชันเพื่อรวมค่าที่จัดกลุ่ม
กลับ:
@return array อาร์เรย์ใหม่ขององค์ประกอบที่จัดกลุ่ม
ตัวอย่าง:
<?php
use function _ zipWith ;
zipWith ([ 1 , 2 ], [ 10 , 20 ], [ 100 , 200 ], function ( $ a , $ b , $ c ) { return $ a + $ b + $ c ; })
// => [111, 222]
สร้างอาร์เรย์ที่ประกอบด้วยคีย์ที่สร้างขึ้นจากผลลัพธ์ของการรันแต่ละองค์ประกอบของ collection
ผ่าน iteratee
ค่าที่สอดคล้องกันของแต่ละคีย์คือจำนวนครั้งที่คีย์ถูกส่งคืนโดย iteratee
ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (ค่า)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ตัววนซ้ำเพื่อแปลงคีย์
กลับ:
@return array ส่งกลับวัตถุรวมที่ประกอบขึ้น
ตัวอย่าง:
<?php
use function _ countBy ;
countBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => 2, '4' => 1]
// The `property` iteratee shorthand.
countBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => 2, '5' => 1]
วนซ้ำองค์ประกอบของ collection
และเรียกใช้ iteratee
สำหรับแต่ละองค์ประกอบ ตัววนซ้ำถูกเรียกใช้ด้วยอาร์กิวเมนต์สามตัว: (value, index|key, collection) ฟังก์ชัน Iteratee อาจออกจากการวนซ้ำก่อนกำหนดโดยส่งคืน false
อย่างชัดเจน
หมายเหตุ: เช่นเดียวกับวิธี "คอลเลกชัน" อื่นๆ วัตถุที่มีคุณสมบัติ "ความยาว" จะถูกวนซ้ำเหมือนอาร์เรย์ เพื่อหลีกเลี่ยงพฤติกรรมนี้ ให้ใช้ forIn
หรือ forOwn
สำหรับการวนซ้ำอ็อบเจ็กต์
ข้อโต้แย้ง:
@param (array | iterable | object) $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return (อาร์เรย์ | วัตถุ) ส่งคืน collection
ตัวอย่าง:
<?php
use function _ each ;
each ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `1` then `2`.
each (( object ) [ ' a ' => 1 , ' b ' => 2 ], function ( $ value , $ key ) { echo $ key ; });
// => Echoes 'a' then 'b' (iteration order is not guaranteed).
วิธีการนี้ก็เหมือนกับ each
ยกเว้นว่ามันจะวนซ้ำองค์ประกอบของ collection
จากขวาไปซ้าย
ข้อโต้แย้ง:
@param (array | iterable | object) $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return (อาร์เรย์ | วัตถุ) ส่งคืน collection
ตัวอย่าง:
<?php
use function _ eachRight ;
eachRight ([ 1 , 2 ], function ( $ value ) { echo $ value ; })
// => Echoes `2` then `1`.
วนซ้ำองค์ประกอบของ array
โดยส่งคืนอาร์เรย์ขององค์ประกอบทั้งหมด predicate
จะส่งกลับค่าความจริง เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี, อาร์เรย์)
หมายเหตุ: วิธีการนี้จะส่งคืนอาร์เรย์ใหม่ซึ่งต่างจาก remove
ข้อโต้แย้ง:
@param iterable $array อาร์เรย์ที่จะวนซ้ำ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array อาร์เรย์ที่กรองใหม่
ตัวอย่าง:
<?php
use function _ filter ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ]
];
filter ( $ users , function ( $ o ) { return ! $ o [ ' active ' ]; });
// => objects for ['fred']
// The `matches` iteratee shorthand.
filter ( $ users , [ ' age ' => 36 , ' active ' => true ]);
// => objects for ['barney']
// The `matchesProperty` iteratee shorthand.
filter ( $ users , [ ' active ' , false ]);
// => objects for ['fred']
// The `property` iteratee shorthand.
filter ( $ users , ' active ' );
// => objects for ['barney']
วนซ้ำองค์ประกอบของ collection
โดยส่งคืน predicate
องค์ประกอบแรกส่งคืนความจริง เพรดิเคตถูกเรียกใช้โดยมีสามอาร์กิวเมนต์: (ค่า, ดัชนี|คีย์, คอลเลกชัน)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะตรวจสอบ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return ผสม ส่งคืนองค์ประกอบที่ตรงกัน มิฉะนั้น null
ตัวอย่าง:
<?php
use function _ find ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => true ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => false ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => true ]
];
find ( $ users , function ( $ o ) { return $ o [ ' age ' ] < 40 ; });
// => object for 'barney'
// The `matches` iteratee shorthand.
find ( $ users , [ ' age ' => 1 , ' active ' => true ]);
// => object for 'pebbles'
// The `matchesProperty` iteratee shorthand.
find ( $ users , [ ' active ' , false ]);
// => object for 'fred'
// The `property` iteratee shorthand.
find ( $ users , ' active ' );
// => object for 'barney'
วิธีการนี้ก็เหมือนกับ find
ยกเว้นว่ามันจะวนซ้ำองค์ประกอบของ collection
จากขวาไปซ้าย
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะตรวจสอบ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param int $fromIndex ดัชนีที่จะค้นหา
กลับ:
@return ผสม ส่งคืนองค์ประกอบที่ตรงกัน อย่างอื่น undefined
ตัวอย่าง:
<?php
use function _ findLast ;
findLast ([ 1 , 2 , 3 , 4 ], function ( $ n ) { return $ n % 2 == 1 ; })
// => 3
สร้างอาร์เรย์ของค่าแบบแยกส่วนโดยการรันแต่ละองค์ประกอบใน collection
ผ่าน iteratee
และทำให้ผลลัพธ์ที่แมปเรียบลง ตัววนซ้ำถูกเรียกใช้ด้วยอาร์กิวเมนต์สามตัว: (value, index|key, collection)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array อาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flatMap ;
function duplicate ( $ n ) {
return [ $ n , $ n ]
}
flatMap ([ 1 , 2 ], ' duplicate ' )
// => [1, 1, 2, 2]
วิธีการนี้เหมือนกับ flatMap
ยกเว้นว่าจะทำให้ผลลัพธ์ที่แมปเรียบขึ้นซ้ำๆ
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่งกลับอาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flatMapDeep ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]];
}
flatMapDeep ([ 1 , 2 ], ' duplicate ' );
// => [1, 1, 2, 2]
วิธีการนี้เหมือนกับ flatMap
ยกเว้นว่าจะทำให้ผลลัพธ์ที่แมปเรียบแบบเรียกซ้ำจนถึง depth
ครั้ง
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param int $deep ความลึกของการเรียกซ้ำสูงสุด
กลับ:
@return array อาร์เรย์ที่แบนใหม่
ตัวอย่าง:
<?php
use function _ flatMapDepth ;
function duplicate ( $ n ) {
return [[[ $ n , $ n ]]]
}
flatMapDepth ([ 1 , 2 ], ' duplicate ' , 2 )
// => [[1, 1], [2, 2]]
สร้างอาร์เรย์ที่ประกอบด้วยคีย์ที่สร้างขึ้นจากผลลัพธ์ของการรันแต่ละองค์ประกอบของ collection
ผ่าน iteratee
ลำดับของค่าที่จัดกลุ่มจะถูกกำหนดตามลำดับที่เกิดขึ้นใน collection
ค่าที่สอดคล้องกันของแต่ละคีย์คืออาร์เรย์ขององค์ประกอบที่รับผิดชอบในการสร้างคีย์ ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ตัววนซ้ำเพื่อแปลงคีย์
กลับ:
@return array ส่งกลับวัตถุรวมที่ประกอบขึ้น
ตัวอย่าง:
<?php
use function _ groupBy ;
groupBy ([ 6.1 , 4.2 , 6.3 ], ' floor ' );
// => ['6' => [6.1, 6.3], '4' => [4.2]]
groupBy ([ ' one ' , ' two ' , ' three ' ], ' strlen ' );
// => ['3' => ['one', 'two'], '5' => ['three']]
เรียกใช้เมธอดที่ path
ของแต่ละองค์ประกอบใน collection
โดยส่งคืนอาร์เรย์ของผลลัพธ์ของแต่ละวิธีที่เรียกใช้ อาร์กิวเมนต์เพิ่มเติมใดๆ จะถูกจัดเตรียมให้กับแต่ละวิธีที่เรียกใช้ หาก path
เป็นฟังก์ชัน ก็จะถูกเรียกใช้และเชื่อม this
กับแต่ละองค์ประกอบใน collection
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param (อาร์เรย์ | เรียกได้ | สตริง) $path เส้นทางของวิธีการเรียกใช้หรือฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param array $args อาร์กิวเมนต์ที่จะเรียกใช้แต่ละวิธีด้วย
กลับ:
@return array อาร์เรย์ของผลลัพธ์
ตัวอย่าง:
<?php
use function _ invokeMap ;
invokeMap ([[ 5 , 1 , 7 ], [ 3 , 2 , 1 ]], function ( $ result ) { sort ( $ result ); return $ result ;})
// => [[1, 5, 7], [1, 2, 3]]
invokeMap ([ 123 , 456 ], ' str_split ' )
// => [['1', '2', '3'], ['4', '5', '6']]
สร้างอ็อบเจ็กต์ที่ประกอบด้วยคีย์ที่สร้างจากผลลัพธ์ของการรันแต่ละองค์ประกอบของ collection
ผ่าน iteratee
ค่าที่สอดคล้องกันของแต่ละคีย์คือองค์ประกอบสุดท้ายที่รับผิดชอบในการสร้างคีย์ ตัววนซ้ำถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $iteratee ตัววนซ้ำเพื่อแปลงคีย์
กลับ:
@return อาร์เรย์วัตถุรวมที่ประกอบขึ้น
ตัวอย่าง:
<?php
use function _ keyBy ;
$ array = [
[ ' direction ' => ' left ' , ' code ' => 97 ],
[ ' direction ' => ' right ' , ' code ' => 100 ],
];
keyBy ( $ array , function ( $ o ) { return chr ( $ o [ ' code ' ]); })
// => ['a' => ['direction' => 'left', 'code' => 97], 'd' => ['direction' => 'right', 'code' => 100]]
keyBy ( $ array , ' direction ' );
// => ['left' => ['direction' => 'left', 'code' => 97], 'right' => ['direction' => 'right', 'code' => 100]]
สร้างอาร์เรย์ของค่าโดยการรันแต่ละองค์ประกอบใน collection
ผ่าน iteratee
ตัววนซ้ำถูกเรียกใช้ด้วยอาร์กิวเมนต์สามตัว: (value, index|key, collection)
วิธีการ lodash-php หลายวิธีได้รับการปกป้องให้ทำงานเป็นตัววนซ้ำสำหรับวิธีการเช่น _::every
, _::filter
, _::map
, _::mapValues
, _::reject
และ _::some
วิธีการป้องกันคือ: ary
, chunk
, curry
, curryRight
, drop
, dropRight
, every
, fill
, invert
, parseInt
, random
, range
, rangeRight
, repeat
, sampleSize
, slice
, some
, sortBy
, split
, take
, takeRight
, template
, trim
, trimEnd
, trimStart
และ words
ข้อโต้แย้ง:
@param (array | object) $collection คอลเลกชันที่จะวนซ้ำ
@param (เรียกได้ | สตริง | อาร์เรย์) $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array ส่งกลับอาร์เรย์ที่แมปใหม่
ตัวอย่าง:
<?php
use function _ map ;
function square ( int $ n ) {
return $ n * $ n ;
}
map ([ 4 , 8 ], $ square );
// => [16, 64]
map (( object ) [ ' a ' => 4 , ' b ' => 8 ], $ square );
// => [16, 64] (iteration order is not guaranteed)
$ users = [
[ ' user ' => ' barney ' ],
[ ' user ' => ' fred ' ]
];
// The `property` iteratee shorthand.
map ( $ users , ' user ' );
// => ['barney', 'fred']
เมธอดนี้เหมือนกับ sortBy
ยกเว้นว่าอนุญาตให้ระบุลำดับการจัดเรียงของผู้วนซ้ำเพื่อเรียงลำดับตาม หากไม่ได้ระบุ orders
ค่าทั้งหมดจะเรียงลำดับจากน้อยไปหามาก มิฉะนั้น ให้ระบุลำดับ "desc" สำหรับจากมากไปน้อยหรือ "asc" สำหรับการเรียงลำดับจากน้อยไปมากของค่าที่เกี่ยวข้อง
ข้อโต้แย้ง:
@param (iterable | null) $collection คอลเลกชันที่จะวนซ้ำ
@param (array[] | callable[] | string[]) $iteratee ตัววนซ้ำที่จะจัดเรียงตาม
@param string[] $orders ลำดับการเรียงลำดับของ iteratees
กลับ:
@return array อาร์เรย์ที่เรียงลำดับใหม่
ตัวอย่าง:
<?php
use function _ orderBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 36 ]
]
// Sort by `user` in ascending order and by `age` in descending order.
orderBy ( $ users , [ ' user ' , ' age ' ], [ ' asc ' , ' desc ' ])
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]]
สร้างอาร์เรย์ขององค์ประกอบที่แบ่งออกเป็นสองกลุ่ม กลุ่มแรกประกอบด้วยองค์ประกอบ predicate
ส่งคืนความจริงสำหรับ ส่วนที่สองประกอบด้วยองค์ประกอบ predicate
ส่งคืนเท็จสำหรับ เพรดิเคตถูกเรียกใช้โดยมีหนึ่งอาร์กิวเมนต์: (value)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array อาร์เรย์ขององค์ประกอบที่จัดกลุ่ม
ตัวอย่าง:
<?php
use function _ partition ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 , ' active ' => false ],
[ ' user ' => ' fred ' , ' age ' => 40 , ' active ' => true ],
[ ' user ' => ' pebbles ' , ' age ' => 1 , ' active ' => false ]
];
partition ( $ users , function ( $ user ) { return $ user [ ' active ' ]; })
// => objects for [['fred'], ['barney', 'pebbles']]
ลด collection
เป็นค่าซึ่งเป็นผลลัพธ์สะสมของการรันแต่ละองค์ประกอบใน collection
ผ่าน iteratee
โดยที่การเรียกใช้ที่ต่อเนื่องกันแต่ละครั้งจะได้รับค่าตอบแทนของค่าที่ส่งคืนก่อนหน้า หากไม่ได้ระบุ accumulator
องค์ประกอบแรกของ collection
จะถูกใช้เป็นค่าเริ่มต้น ตัววนซ้ำถูกเรียกใช้ด้วยอาร์กิวเมนต์สี่ตัว: (ตัวสะสม ค่า ดัชนี|คีย์ คอลเลกชัน)
วิธีการ Lodash หลายวิธีได้รับการปกป้องให้ทำงานเป็นตัววนซ้ำสำหรับวิธีการต่างๆ เช่น reduce
, reduceRight
และ transform
วิธีการป้องกันคือ: assign
, defaults
, defaultsDeep
, includes
, merge
, orderBy
และ sortBy
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param ผสม $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param ผสม $accumulator ค่าเริ่มต้น
กลับ:
@return แบบผสม ส่งคืนค่าสะสม
ตัวอย่าง:
<?php
use function _ reduce ;
reduce ([ 1 , 2 ], function ( $ sum , $ n ) { return $ sum + $ n ; }, 0 )
// => 3
reduce ([ ' a ' => 1 , ' b ' => 2 , ' c ' => 1 ], function ( $ result , $ value , $ key ) {
if (! isset ( $ result [ $ value ])) {
$ result [ $ value ] = [];
}
$ result [ $ value ][] = $ key ;
return $ result ;
}, [])
// => ['1' => ['a', 'c'], '2' => ['b']] (iteration order is not guaranteed)
วิธีนี้ก็เหมือนกับ reduce
ยกเว้นว่ามันจะวนซ้ำองค์ประกอบของ collection
จากขวาไปซ้าย
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param ผสม $iteratee ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
@param ผสม $accumulator ค่าเริ่มต้น
กลับ:
@return แบบผสม ส่งคืนค่าสะสม
ตัวอย่าง:
<?php
use function _ reduceRight ;
$ array = [[ 0 , 1 ], [ 2 , 3 ], [ 4 , 5 ]];
reduceRight ( array , (flattened, other) => flattened. concat (other), [])
// => [4, 5, 2, 3, 0, 1]
สิ่งที่ตรงกันข้ามกับ filter
วิธีนี้จะส่งกลับองค์ประกอบของ collection
ที่ predicate
ไม่ ส่งคืนความจริง
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param callable $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return array อาร์เรย์ที่กรองใหม่
ตัวอย่าง:
<?php
use function _ reject ;
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
]
reject ( $ users , ' active ' )
// => objects for ['fred']
รับขนาดของ collection
โดยการส่งคืนความยาวของค่าอาร์เรย์หรือจำนวนคุณสมบัติสาธารณะของวัตถุ
ข้อโต้แย้ง:
@param (อาร์เรย์ | วัตถุ | สตริง) $collection คอลเลกชันที่จะตรวจสอบ
กลับ:
@return int ส่งกลับขนาดคอลเลกชัน
ตัวอย่าง:
<?php
use function _ size ;
size ([ 1 , 2 , 3 ]);
// => 3
size ( new class { public $ a = 1 ; public $ b = 2 ; private $ c = 3 ; });
// => 2
size ( ' pebbles ' );
// => 7
ตรวจสอบว่า predicate
ส่งคืนความจริงสำหรับองค์ประกอบ ใด ๆ ของ collection
หรือไม่ การวนซ้ำจะหยุดลงเมื่อ predicate
ส่งคืนความจริง เพรดิเคตถูกเรียกใช้โดยมีอาร์กิวเมนต์สามตัว: (ค่า, ดัชนี|คีย์, คอลเลกชัน)
ข้อโต้แย้ง:
@param iterable $collection คอลเลกชันที่จะวนซ้ำ
@param (เรียกได้ | สตริง | อาร์เรย์) $predicate ฟังก์ชันที่เรียกใช้ต่อการวนซ้ำ
กลับ:
@return boolean ส่งคืน true
หากองค์ประกอบใดผ่านการตรวจสอบเพรดิเคต มิฉะนั้นจะส่งกลับ false
ตัวอย่าง:
<?php
use function _ some ;
some ([ null , 0 , ' yes ' , false ], , function ( $ value ) { return is_bool ( $ value ); }));
// => true
$ users = [
[ ' user ' => ' barney ' , ' active ' => true ],
[ ' user ' => ' fred ' , ' active ' => false ]
];
// The `matches` iteratee shorthand.
some ( $ users , [ ' user ' => ' barney ' , ' active ' => false ]);
// => false
// The `matchesProperty` iteratee shorthand.
some ( $ users , [ ' active ' , false ]);
// => true
// The `property` iteratee shorthand.
some ( $ users , ' active ' );
// => true
สร้างอาร์เรย์ขององค์ประกอบ โดยเรียงลำดับจากน้อยไปมากตามผลลัพธ์ของการเรียกใช้แต่ละองค์ประกอบในคอลเลกชันผ่านแต่ละการวนซ้ำ วิธีนี้จะทำการเรียงลำดับที่เสถียร กล่าวคือ จะรักษาลำดับการจัดเรียงดั้งเดิมขององค์ประกอบที่เท่ากัน ตัววนซ้ำถูกเรียกใช้ด้วยอาร์กิวเมนต์เดียว: (ค่า)
ข้อโต้แย้ง:
@param (อาร์เรย์ | วัตถุ | null) $collection คอลเลกชันที่จะวนซ้ำ
@param (callable | callable[]) $iteratees ตัววนซ้ำที่จะจัดเรียงตาม
กลับ:
@return array ส่งกลับอาร์เรย์ที่เรียงลำดับใหม่
ตัวอย่าง:
<?php
use function _ sortBy ;
$ users = [
[ ' user ' => ' fred ' , ' age ' => 48 ],
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' barney ' , ' age ' => 34 ],
];
sortBy ( $ users , [ function ( $ o ) { return $ o [ ' user ' ]; }]);
// => [['user' => 'barney', 'age' => 36], ['user' => 'barney', 'age' => 34], ['user' => 'fred', 'age' => 48], ['user' => 'fred', 'age' => 40]]
sortBy ( $ users , [ ' user ' , ' age ' ]);
// => [['user' => 'barney', 'age' => 34], ['user' => 'barney', 'age' => 36], ['user' => 'fred', 'age' => 40], ['user' => 'fred', 'age' => 48]]
รับการประทับเวลาของจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่ยุค Unix (1 มกราคม 1970 00:00:00 UTC)
ข้อโต้แย้ง:
กลับ:
@return int ส่งกลับการประทับเวลา
ตัวอย่าง:
<?php
use function _ now ;
now ();
// => 1511180325735
ตรงกันข้ามกับ before
; เมธอดนี้จะสร้างฟังก์ชันที่เรียกใช้ func
เมื่อถูกเรียก n
ครั้งขึ้นไป
ข้อโต้แย้ง:
@param int $n จำนวนการโทรก่อนที่จะเรียกใช้ func
@param Callable $func ฟังก์ชันที่จะจำกัด
กลับ:
@return Callable ส่งคืนฟังก์ชันที่ถูกจำกัดใหม่
ตัวอย่าง:
<?php
use function _ after ;
$ saves = [ ' profile ' , ' settings ' ];
$ done = after ( count ( $ saves ), function () {
echo ' done saving! ' ;
});
forEach ( $ saves , function ( $ type ) use ( $ done ) {
asyncSave ([ ' type ' => $ type , ' complete ' => $ done ]);
});
// => Prints 'done saving!' after the two async saves have completed.
สร้างฟังก์ชันที่เรียกใช้ func
โดยมีอาร์กิวเมนต์สูงสุด n
รายการ โดยไม่สนใจอาร์กิวเมนต์เพิ่มเติมใดๆ
ข้อโต้แย้ง:
@param callable $func ฟังก์ชันสำหรับจำกัดอาร์กิวเมนต์
@param int $n หมวก arity
กลับ:
@return Callable ส่งคืนฟังก์ชันต่อยอดใหม่
ตัวอย่าง:
<?php
use function _ ary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], ary ( ' intval ' , 1 ));
// => [6, 8, 10]
สร้างฟังก์ชันที่เรียกใช้ func
พร้อมด้วยอาร์กิวเมนต์ของฟังก์ชันที่สร้างขึ้น ในขณะที่เรียกว่าน้อยกว่า n
ครั้ง การเรียกใช้ฟังก์ชันที่สร้างขึ้นครั้งถัดไปจะส่งคืนผลลัพธ์ของการเรียกใช้ func
ครั้งล่าสุด
ข้อโต้แย้ง:
@param int $n จำนวนการโทรที่ func
ไม่ได้ถูกเรียกใช้อีกต่อไป
@param callable $func ฟังก์ชันที่จะจำกัด
กลับ:
@return callable ส่งคืนฟังก์ชันที่ถูกจำกัดใหม่
ตัวอย่าง:
<?php
use function _ before ;
$ users = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ];
$ result = uniqBy ( map ( $ users , before ( 5 , [ $ repository , ' find ' ])), ' id ' )
// => Fetch up to 4 results.
สร้างฟังก์ชันที่เรียกใช้ func
ด้วย this
ผูก object
และ partials
ที่นำหน้าอาร์กิวเมนต์ที่ได้รับ
ข้อโต้แย้ง:
@param callable $function ฟังก์ชันที่จะผูก
@param (วัตถุ | ผสม) $object การเชื่อมโยง object
ของ func
@param array<int, mix> $partials อาร์กิวเมนต์ที่จะนำไปใช้บางส่วน
กลับ:
@return callable ส่งคืนฟังก์ชันที่ถูกผูกไว้ใหม่
ตัวอย่าง:
<?php
use function _ bind ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
$ object = $ object = new class {
public $ user = ' fred ' ;
};
$ bound = bind ( ' greet ' , $ object , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!'
สร้างฟังก์ชันที่เรียกใช้เมธอด $function
ของ $object
โดยมี $partials
นำหน้าอาร์กิวเมนต์ที่ได้รับ
วิธีการนี้แตกต่างจาก bind
โดยอนุญาตให้ฟังก์ชันที่ถูกผูกไว้อ้างอิงวิธีการที่อาจถูกกำหนดใหม่หรือยังไม่มีอยู่
ข้อโต้แย้ง:
@param object $object วัตถุที่จะเรียกใช้เมธอด
@param string $function ชื่อของเมธอด
@param array<int, mix> $partials อาร์กิวเมนต์ที่จะนำไปใช้บางส่วน
กลับ:
@return callable ส่งคืนฟังก์ชันที่ถูกผูกไว้ใหม่
ตัวอย่าง:
<?php
use function _ bindKey ;
$ object = new class {
private $ user = ' fred ' ;
function greet ( $ greeting , $ punctuation ) {
return $ greeting . ' ' . $ this -> user . $ punctuation ;
}
};
$ bound = bindKey ( $ object , ' greet ' , ' hi ' );
$ bound ( ' ! ' );
// => 'hi fred!'
สร้างฟังก์ชันที่ยอมรับอาร์กิวเมนต์ของ func
และเรียกใช้ func
โดยส่งคืนผลลัพธ์ หากมีการระบุจำนวนอาร์กิวเมนต์ arity
อย่างน้อย หรือส่งคืนฟังก์ชันที่ยอมรับอาร์กิวเมนต์ func
ที่เหลือ และอื่นๆ อาจระบุ arity ของ func
ได้หาก func.length
ไม่เพียงพอ
ค่า _.curry.placeholder
ซึ่งมีค่าเริ่มต้นเป็น _
ในรุ่นเสาหิน อาจใช้เป็นตัวยึดตำแหน่งสำหรับอาร์กิวเมนต์ที่ให้มาได้
หมายเหตุ: วิธีการนี้ไม่ได้ตั้งค่าคุณสมบัติ "ความยาว" ของฟังก์ชัน curried
ข้อโต้แย้ง:
@param callable $func ฟังก์ชั่นแกง
@param (int | null) $arity arity ของ func
กลับ:
@return callable ส่งคืนฟังก์ชัน curried ใหม่
ตัวอย่าง:
<?php
use function _ curry ;
$ abc = function ( $ a , $ b , $ c ) {
return [ $ a , $ b , $ c ];
};
$ curried = curry ( $ abc );
$ curried ( 1 )( 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 )( 3 );
// => [1, 2, 3]
$ curried ( 1 , 2 , 3 );
// => [1, 2, 3]
// Curried with placeholders.
$ curried ( 1 )(_, 3 )( 2 );
// => [1, 2, 3]
เรียกใช้ func
หลังจาก wait
มิลลิวินาที อาร์กิวเมนต์เพิ่มเติมใด ๆ มีไว้เพื่อ func
เมื่อมีการเรียกใช้
ข้อโต้แย้ง:
@param callable $func ฟังก์ชั่นหน่วงเวลา
@param int $wait จำนวนมิลลิวินาทีที่จะชะลอการเรียกใช้
@param array<int, mix> $args
กลับ:
@return int รหัสตัวจับเวลา
ตัวอย่าง:
<?php
use function _ delay ;
delay ( function ( $ text ) {
echo $ text ;
}, 1000 , ' later ' );
// => Echo 'later' after one second.
สร้างฟังก์ชันที่เรียกใช้ func
โดยที่อาร์กิวเมนต์กลับด้าน
ข้อโต้แย้ง:
@param callable $func ฟังก์ชันพลิกอาร์กิวเมนต์
กลับ:
@return callable ส่งกลับฟังก์ชันพลิกใหม่
ตัวอย่าง:
<?php
use function _ flip ;
$ flipped = flip ( function () {
return func_get_args ();
});
flipped ( ' a ' , ' b ' , ' c ' , ' d ' );
// => ['d', 'c', 'b', 'a']
สร้างฟังก์ชันที่บันทึกผลลัพธ์ของ func
หากมีการระบุ resolver
จะกำหนดคีย์แคชสำหรับจัดเก็บผลลัพธ์ตามอาร์กิวเมนต์ที่ให้ไว้กับฟังก์ชันที่บันทึก ตามค่าเริ่มต้น อาร์กิวเมนต์แรกที่ให้กับฟังก์ชันที่บันทึกจะถูกใช้เป็นคีย์แคชแมป
หมายเหตุ: แคชถูกเปิดเผยเป็นคุณสมบัติ cache
บนฟังก์ชันที่บันทึกไว้ การสร้างอาจปรับแต่งได้โดยการแทนที่ตัวสร้าง _.memoize.Cache
ด้วยอินสแตนซ์ที่มีอินสแตนซ์ใช้อินเทอร์เฟซเมธอด Map
ของ clear
, delete
, get
, has
และ set
ข้อโต้แย้ง:
@param callable $func ฟังก์ชันที่จะบันทึกเอาต์พุต
@param (เรียกได้ | null) $resolver ฟังก์ชันแก้ไขคีย์แคช
กลับ:
@return callable ส่งกลับฟังก์ชันบันทึกใหม่
ตัวอย่าง:
<?php
use function _ memoize ;
$ object = [ ' a ' => 1 , ' b ' => 2 ];
$ other = [ ' c ' => 3 , ' d ' => 4 ];
$ values = memoize ( ' _values ' );
$ values ( $ object );
// => [1, 2]
$ values ( $ other );
// => [3, 4]
$ object [ ' a ' ] = 2 ;
$ values ( $ object );
// => [1, 2]
// Modify the result cache.
$ values -> cache -> set ( $ object , [ ' a ' , ' b ' ]);
$ values ( $ object );
// => ['a', 'b']
สร้างฟังก์ชันที่ปฏิเสธผลลัพธ์ของ func
ภาคแสดง
ข้อโต้แย้ง:
@param callable $predicate ภาคแสดงที่จะลบล้าง
กลับ:
@return callable ส่งคืนฟังก์ชันที่ถูกปฏิเสธใหม่
ตัวอย่าง:
<?php
use function _ negate ;
function isEven ( $ n ) {
return $ n % 2 == 0 ;
}
filter ([ 1 , 2 , 3 , 4 , 5 , 6 ], negate ( $ isEven ));
// => [1, 3, 5]
สร้างฟังก์ชันที่ถูกจำกัดให้เรียกใช้ func
เพียงครั้งเดียว การเรียกฟังก์ชันซ้ำจะส่งกลับค่าของการเรียกใช้ครั้งแรก func
ถูกเรียกใช้พร้อมกับอาร์กิวเมนต์ของฟังก์ชันที่สร้างขึ้น
ข้อโต้แย้ง:
@param callable $func ฟังก์ชันที่จะจำกัด
กลับ:
@return เรียกฟังก์ชันที่ถูกจำกัดใหม่ได้
ตัวอย่าง:
<?php
use function _ once ;
$ initialize = once ( ' createApplication ' );
$ initialize ();
$ initialize ();
// => `createApplication` is invoked once
สร้างฟังก์ชันที่เรียกใช้ func
โดยมีการแปลงอาร์กิวเมนต์
ข้อโต้แย้ง:
@param callable $func ฟังก์ชั่นที่จะตัด
@param callable[] $transforms อาร์กิวเมนต์การแปลง
กลับ:
@return เรียกใช้ฟังก์ชันใหม่ได้
ตัวอย่าง:
<?php
use function _ overArgs ;
function doubled ( $ n ) {
return $ n * 2 ;
}
function square ( $ n ) {
return $ n * $ n ;
}
$ func = overArgs ( function ( $ x , $ y ) {
return [ $ x , $ y ];
}, [ ' square ' , ' doubled ' ]);
$ func ( 9 , 3 );
// => [81, 6]
$ func ( 10 , 5 );
// => [100, 10]
สร้างฟังก์ชันที่เรียกใช้ func
โดยมี partials
นำหน้าอาร์กิวเมนต์ที่ได้รับ
ข้อโต้แย้ง:
@param callable $func ฟังก์ชันที่ใช้อาร์กิวเมนต์บางส่วน
@param array<int, mix> $partials อาร์กิวเมนต์ที่จะนำไปใช้บางส่วน
กลับ:
@return callable ส่งคืนฟังก์ชันใหม่ที่นำไปใช้บางส่วน
ตัวอย่าง:
<?php
use function _ partial ;
function greet ( $ greeting , $ name ) {
return $ greeting . ' ' . $ name ;
}
$ sayHelloTo = partial ( ' greet ' , ' hello ' );
$ sayHelloTo ( ' fred ' );
// => 'hello fred'
สร้างฟังก์ชั่นที่เรียกใช้ func
ด้วยการเชื่อมโยงของฟังก์ชั่นและอาร์กิวเมนต์ที่สร้างขึ้น this
ตั้งแต่ start
และเหนือกว่าที่จัดเตรียมไว้เป็นอาร์เรย์
ข้อโต้แย้ง:
@param callable $ func ฟังก์ชั่นที่จะใช้พารามิเตอร์ที่เหลือกับ
@Param (int | null) $ เริ่มตำแหน่งเริ่มต้นของพารามิเตอร์ REST
กลับ:
@return callable ส่งคืนฟังก์ชั่นใหม่
ตัวอย่าง:
<?php
use function _ rest ;
$ say = rest ( function ( $ what , $ names ) {
return $ what . ' ' . implode ( ' , ' , initial ( $ names )) .
( size ( $ names ) > 1 ? ' , & ' : '' ) . last ( $ names );
});
$ say ( ' hello ' , ' fred ' , ' barney ' , ' pebbles ' );
// => 'hello fred, barney, & pebbles'
สร้างฟังก์ชั่นที่เรียกใช้ func
ด้วยการเชื่อม this
ของฟังก์ชั่นสร้างและอาร์เรย์ของอาร์กิวเมนต์เช่น Function#apply
หมายเหตุ: วิธีนี้ขึ้นอยู่กับตัวดำเนินการสเปรด
ข้อโต้แย้ง:
@param callable $ func ฟังก์ชั่นเพื่อกระจายอาร์กิวเมนต์
@param int $ เริ่มตำแหน่งเริ่มต้นของสเปรด
กลับ:
@return callable ส่งคืนฟังก์ชั่นใหม่
ตัวอย่าง:
<?php
use function _ spread ;
$ say = spread ( function ( $ who , $ what ) {
return $ who . ' says ' . $ what ;
});
$ say ([ ' fred ' , ' hello ' ]);
// => 'fred says hello'
สร้างฟังก์ชั่นที่ยอมรับอาร์กิวเมนต์หนึ่งอาร์กิวเมนต์โดยไม่สนใจอาร์กิวเมนต์เพิ่มเติมใด ๆ
ข้อโต้แย้ง:
@param callable $ func ฟังก์ชั่นเพื่อ cap อาร์กิวเมนต์สำหรับ
กลับ:
@return เรียกใช้ฟังก์ชั่นที่ต่อยอดใหม่
ตัวอย่าง:
<?php
use function _ unary ;
map ([ ' 6 ' , ' 8 ' , ' 10 ' ], unary ( ' intval ' ));
// => [6, 8, 10]
สร้างฟังก์ชั่นที่ให้ value
กับ wrapper
เป็นอาร์กิวเมนต์แรก อาร์กิวเมนต์เพิ่มเติมใด ๆ ที่มีให้กับฟังก์ชั่นจะถูกผนวกเข้ากับสิ่งที่ให้กับ wrapper
ข้อโต้แย้ง:
@param ผสม $ ค่าค่าที่จะห่อ
@param callable $ wrapper ฟังก์ชั่น wrapper
กลับ:
@return เรียกใช้ฟังก์ชั่นใหม่
ตัวอย่าง:
<?php
use function _ wrap ;
$ p = wrap ( ' _escape ' , function ( $ func , $ text ) {
return ' <p> ' . $ func ( $ text ) . ' </p> ' ;
});
$ p ( ' fred, barney, & pebbles ' );
// => '<p>fred, barney, & pebbles</p>'
ทำการเปรียบเทียบระหว่างสองค่าเพื่อตรวจสอบว่าพวกเขาเทียบเท่าหรือไม่
ข้อโต้แย้ง:
@param ผสม $ ค่าค่าที่จะเปรียบเทียบ
@param ผสม $ อื่น ๆ ค่าอื่น ๆ ที่จะเปรียบเทียบ
กลับ:
@return บูลีนจะส่งคืน true
ถ้าค่าเทียบเท่าอื่น ๆ false
ตัวอย่าง:
<?php
use function _ eq ;
$ object = ( object ) [ ' a ' => 1 ];
$ other = ( object ) [ ' a ' => 1 ];
eq ( $ object , $ object );
// => true
eq ( $ object , $ other );
// => false
eq ( ' a ' , ' a ' );
// => true
eq ([ ' a ' ], ( object ) [ ' a ' ]);
// => false
eq ( INF , INF );
// => true
ทำการเปรียบเทียบอย่างลึกซึ้งระหว่างสองค่าเพื่อตรวจสอบว่าพวกเขาเทียบเท่าหรือไม่
หมายเหตุ: วิธีนี้รองรับการเปรียบเทียบอาร์เรย์, บูลีน, วัตถุวันหยุด, วัตถุข้อยกเว้น, splobjectStorage, ตัวเลข, สตริง, อาร์เรย์พิมพ์, ทรัพยากร, โหนด DOM วัตถุถูกเปรียบเทียบด้วยคุณสมบัติของตัวเองไม่ใช่คุณสมบัติที่สืบทอดมา
ข้อโต้แย้ง:
@param ผสม $ ค่าค่าที่จะเปรียบเทียบ
@param ผสม $ อื่น ๆ ค่าอื่น ๆ ที่จะเปรียบเทียบ
กลับ:
@return bool ส่งคืน true
ถ้าค่าเทียบเท่าอื่น ๆ false
ตัวอย่าง:
<?php
use function _ isEqual ;
$ object = [ ' a ' => 1 ]
$ other = [ ' a ' => ' 1 ' ]
isEqual ( $ object , $ other )
// => true
$ object === $ other
// => false
ตรวจสอบว่า value
เป็น Exception
, ParseError
, Error , Throwable
, soapfault , DOMException
, pdoexception`, Object
ข้อโต้แย้ง:
@Param ผสม $ ค่าค่าที่จะตรวจสอบ
กลับ:
@return บูลีนส่งคืน true
ถ้า value
เป็นวัตถุข้อผิดพลาดอื่น ๆ false
ตัวอย่าง:
<?php
use function _ isError ;
isError ( new Exception ())
// => true
isError (Exception::Class)
// => false
เพิ่มตัวเลขสองตัว
ข้อโต้แย้ง:
@param (int | float | string) $ augend หมายเลขแรกในการเพิ่ม
@Param (int | float | string) $ เพิ่มหมายเลขที่สองในการเพิ่ม
กลับ:
@return (int | float) ส่งคืนผลรวม
ตัวอย่าง:
<?php
use function _ add ;
add ( 6 , 4 );
// => 10
คำนวณค่าสูงสุดของ array
หาก array
ว่างเปล่าหรือเท็จ NULL จะถูกส่งคืน
ข้อโต้แย้ง:
@param (อาร์เรย์ | null) $ array อาร์เรย์เพื่อวนซ้ำ
กลับ:
@return (int | null) ส่งคืนค่าสูงสุด
ตัวอย่าง:
<?php
use function _ max ;
max ([ 4 , 2 , 8 , 6 ]);
// => 8
max ([]);
// => null
วิธีนี้เป็นเหมือน max
ยกเว้นว่าจะยอมรับ iteratee
ซึ่งถูกเรียกใช้สำหรับแต่ละองค์ประกอบใน array
เพื่อสร้างเกณฑ์ที่ค่าถูกจัดอันดับ iteree ถูกเรียกใช้ด้วยอาร์กิวเมนต์หนึ่งข้อ: (ค่า)
ข้อโต้แย้ง:
@param Array $ Array อาร์เรย์เพื่อทำซ้ำ
@param (callable | string) $ iterate iterate revoked ต่อองค์ประกอบ
กลับ:
@return ผสมส่งคืนค่าสูงสุด
ตัวอย่าง:
<?php
use function _ maxBy ;
$ objects = [[ ' n ' => 1 ], [ ' n ' => 2 ]];
maxBy ( $ objects , function ( $ o ) { return $ o [ ' n ' ]; });
// => ['n' => 2]
// The `property` iteratee shorthand.
maxBy ( $ objects , ' n ' );
// => ['n' => 2]
number
หนีบภายในขอบเขต lower
และ upper
รวม
ข้อโต้แย้ง:
@param int $ number หมายเลขไปยังแคลมป์
@param int $ ต่ำกว่าขอบเขตล่าง
@param int $ Upper Upper Bound
กลับ:
@return int ส่งคืนหมายเลขที่จับ
ตัวอย่าง:
<?php
use function _ clamp ;
clamp (- 10 , - 5 , 5 )
// => -5
clamp ( 10 , - 5 , 5 )
// => 5
ตรวจสอบว่า number
อยู่ระหว่าง start
และสูงถึง แต่ไม่รวมถึง end
หากไม่ได้ระบุ end
ให้ตั้งค่าให้ start
ด้วย start
จากนั้นตั้งค่าเป็น 0
หาก start
มากกว่า end
พารามิเตอร์จะถูกเปลี่ยนเพื่อรองรับช่วงลบ
ข้อโต้แย้ง:
@param ลอย $ หมายเลขที่ต้องตรวจสอบ
@param ลอย $ เริ่มต้นของช่วง
@param ลอย $ สิ้นสุดสิ้นสุดช่วง
กลับ:
@return บูลีนส่งคืน true
ถ้า number
อยู่ในช่วงอื่น ๆ false
ตัวอย่าง:
<?php
use function _ inRange ;
inRange ( 3 , 2 , 4 )
// => true
inRange ( 4 , 8 )
// => true
inRange ( 4 , 2 )
// => false
inRange ( 2 , 2 )
// => false
inRange ( 1.2 , 2 )
// => true
inRange ( 5.2 , 4 )
// => false
inRange (- 3 , - 2 , - 6 )
// => true
สร้างจำนวนสุ่มระหว่างขอบเขต lower
และ upper
รวม หากมีเพียงอาร์กิวเมนต์เดียวเท่านั้นที่ให้หมายเลขระหว่าง 0
ถึงหมายเลขที่กำหนดจะถูกส่งคืน หาก floating
เป็น true
หรือ lower
หรือ upper
คือลอยหมายเลขจุดลอยตัวจะถูกส่งคืนแทนจำนวนเต็ม
ข้อโต้แย้ง:
@param (int | float | bool) $ ลดขอบเขตล่าง
@param (int | float | bool) $ updpon on Upper Bound
@Param (บูล | null) $ ลอยระบุระบุการส่งคืนหมายเลขจุดลอยตัว
กลับ:
@return (int | float) ส่งคืนหมายเลขสุ่ม
ตัวอย่าง:
<?php
use function _ random ;
random ( 0 , 5 )
// => an integer between 0 and 5
random ( 5 )
// => also an integer between 0 and 5
random ( 5 , true )
// => a floating-point number between 0 and 5
random ( 1.2 , 5.2 )
// => a floating-point number between 1.2 and 5.2
รับค่าที่เส้นทางของวัตถุ หากค่าที่ได้รับการแก้ไขเป็นค่าเริ่มต้นค่าเริ่มต้นจะถูกส่งคืนในสถานที่
ข้อโต้แย้ง:
@Param ผสม $ OBJECT ARRAY ARRAY หรือวัตถุเพื่อดึงค่าจาก
@Param (อาร์เรย์ | สตริง) $ path dot คั่นหรืออาร์เรย์ของสตริง
@Param ผสม $ defaultValue (ไม่บังคับ) ค่าที่ส่งคืนสำหรับค่าที่ไม่ได้รับการแก้ไขหรือค่าว่าง
กลับ:
@return ผสมส่งคืนค่าที่ได้รับการแก้ไข
ตัวอย่าง:
<?php
use function _ get ;
$ sampleArray = [ " key1 " => [ " key2 " => [ " key3 " => " val1 " , " key4 " => "" ]]];
get ( $ sampleArray , ' key1.key2.key3 ' );
// => "val1"
get ( $ sampleArray , ' key1.key2.key5 ' , " default " );
// => "default"
get ( $ sampleArray , ' key1.key2.key4 ' , " default " );
// => ""
สร้างวัตถุที่ประกอบด้วยคุณสมบัติ object
ที่เลือก
ข้อโต้แย้ง:
@Param Object $ Object วัตถุต้นฉบับ
@Param (สตริง | สตริง []) $ พา ธ พา ธ พา ธ ที่จะเลือก
กลับ:
@return stdclass ส่งคืนวัตถุใหม่
ตัวอย่าง:
<?php
use function _ pick ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' 2 ' , ' c ' => 3 ];
pick ( $ object , [ ' a ' , ' c ' ]);
// => (object) ['a' => 1, 'c' => 3]
สร้างวัตถุที่ประกอบด้วยคุณสมบัติของ object
predicate
ส่งคืนความจริงสำหรับ เพรดิเคตถูกเรียกใช้ด้วยสองอาร์กิวเมนต์: (ค่า, คีย์)
ข้อโต้แย้ง:
@param (วัตถุ | null) $ วัตถุวัตถุแหล่งที่มา
@param callable $ predicate ฟังก์ชั่นที่เรียกใช้ต่อคุณสมบัติ
กลับ:
@return stdclass ส่งคืนวัตถุใหม่
ตัวอย่าง:
<?php
use function _ pickBy ;
$ object = ( object ) [ ' a ' => 1 , ' b ' => ' abc ' , ' c ' => 3 ];
pickBy (object, ' is_numeric ' );
// => (object) ['a' => 1, 'c' => 3]
สร้างอินสแตนซ์ Wrapper lodash
ที่ห่อหุ้ม value
ด้วยลำดับห่วงโซ่วิธีการที่ชัดเจน ผลลัพธ์ของลำดับดังกล่าวจะต้องไม่ได้รับ ->value()
ข้อโต้แย้ง:
@param ผสม $ ค่าค่าที่จะห่อ
กลับ:
@return _ ส่งคืนอินสแตนซ์ lodash
Wrapper ใหม่
ตัวอย่าง:
<?php
use function _ chain ;
$ users = [
[ ' user ' => ' barney ' , ' age ' => 36 ],
[ ' user ' => ' fred ' , ' age ' => 40 ],
[ ' user ' => ' pebbles ' , ' age ' => 1 ],
];
$ youngest = chain ( $ users )
-> sortBy ( ' age ' )
-> map ( function ( $ o ) {
return $ o [ ' user ' ] . ' is ' . $ o [ ' age ' ];
})
-> head ()
-> value ();
// => 'pebbles is 1'
แปลง string
เป็นเคสอูฐ
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return String ส่งคืนสตริง Camel cased
ตัวอย่าง:
<?php
use function _ camelCase ;
camelCase ( ' Foo Bar ' )
// => 'fooBar'
camelCase ( ' --foo-bar-- ' )
// => 'fooBar'
camelCase ( ' __FOO_BAR__ ' )
// => 'fooBar'
แปลงอักขระแรกของ string
เป็นตัวพิมพ์ใหญ่และส่วนที่เหลือเป็นตัวพิมพ์เล็ก
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะใช้ประโยชน์
กลับ:
@return สตริงส่งคืนสตริงที่เป็นตัวพิมพ์ใหญ่
ตัวอย่าง:
<?php
use function _ capitalize ;
capitalize ( ' FRED ' )
// => 'Fred'
string
Deburrs โดยการแปลง [LATIN-1 SUPLEMENT] (https => // en.wikipedia.org/wiki/latin-1_supplement_(unicode_block)#character_table) และ [Latin Extended-a] (https => // en.wikipedia org/wiki/latin_extended-a) ตัวอักษรไปยังตัวอักษรละตินพื้นฐานและลบ [การรวมเครื่องหมาย diacritical] (https => // en.wikipedia.org/wiki/Combining_diacritical_marks)
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเป็น deburr
กลับ:
@return สตริงส่งคืนสตริงที่ถูกหักล้าง
ตัวอย่าง:
<?php
use function _ deburr ;
deburr ( ' déjà vu ' )
// => 'deja vu'
ตรวจสอบว่า string
จะลงท้ายด้วยสตริงเป้าหมายที่กำหนด
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะตรวจสอบ
@Param String $ target สตริงเพื่อค้นหา
@param int $ ตำแหน่งตำแหน่งในการค้นหา
กลับ:
@return บูลีนส่งคืน true
ถ้า string
ลงท้ายด้วย target
อื่น ๆ false
ตัวอย่าง:
<?php
use function _ endsWith ;
endsWith ( ' abc ' , ' c ' )
// => true
endsWith ( ' abc ' , ' b ' )
// => false
endsWith ( ' abc ' , ' b ' , 2 )
// => true
แปลงอักขระ "&", "<", ">", '"' และ" '"ใน string
เป็นเอนทิตี HTML ที่เกี่ยวข้อง
แม้ว่าตัวละคร ">" จะถูกหลบหนีเพื่อความสมมาตร แต่ตัวละครเช่น ">" และ "/" ไม่จำเป็นต้องหลบหนีใน HTML และไม่มีความหมายพิเศษเว้นแต่ว่าพวกเขาจะเป็นส่วนหนึ่งของแท็กหรือค่าแอตทริบิวต์ที่ไม่ได้เสนอราคา ดูบทความของ Mathias Bynens (ภายใต้ "ความจริงที่เกี่ยวข้องกับกึ่งเกี่ยวกับความจริง") สำหรับรายละเอียดเพิ่มเติม
เมื่อทำงานกับ HTML คุณควรเสนอค่าแอตทริบิวต์เพื่อลดเวกเตอร์ XSS
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะหลบหนี
กลับ:
@return สตริงส่งคืนสตริงที่หลบหนี
ตัวอย่าง:
<?php
use function _ escape ;
escape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
หลบหนีตัวละครพิเศษ RegExp
"^", "$", "", ".", "*", "+", "?", "(", ")", "[", "]", "{{{ ","} "และ" | " ใน string
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะหลบหนี
กลับ:
@return สตริงส่งคืนสตริงที่หลบหนี
ตัวอย่าง:
<?php
use function _ escapeRegExp ;
escapeRegExp ( ' [lodash](https://lodash.com/) ' )
// => '[lodash](https://lodash.com/)'
แปลง string
เป็นเคบับเคส
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริงเคบับ
ตัวอย่าง:
<?php
use function _ kebabCase ;
kebabCase ( ' Foo Bar ' )
// => 'foo-bar'
kebabCase ( ' fooBar ' )
// => 'foo-bar'
kebabCase ( ' __FOO_BAR__ ' )
// => 'foo-bar'
แปลง string
เป็นคำที่แยกพื้นที่เป็นตัวพิมพ์เล็ก
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return String ส่งคืนสตริง cased ล่าง
ตัวอย่าง:
<?php
use function _ lowerCase ;
lowerCase ( ' --Foo-Bar-- ' )
// => 'foo bar'
lowerCase ( ' fooBar ' )
// => 'foo bar'
lowerCase ( ' __FOO_BAR__ ' )
// => 'foo bar'
แปลงอักขระแรกของ string
เป็นตัวพิมพ์เล็ก
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริงที่แปลงแล้ว
ตัวอย่าง:
<?php
use function _ lowerFirst ;
lowerFirst ( ' Fred ' )
// => 'fred'
lowerFirst ( ' FRED ' )
// => 'fRED'
สตริง string
ด้านซ้ายและขวาหากสั้นกว่า length
อักขระการขยายจะถูกตัดทอนหากไม่สามารถแบ่งออกเป็น length
ได้อย่างสม่ำเสมอ
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเป็นแผ่น
@param int $ length ความยาวช่องว่าง
@Param String $ chars สตริงที่ใช้เป็นช่องว่างภายใน
กลับ:
@return สตริงส่งคืนสตริงเบาะ
ตัวอย่าง:
<?php
use function _ pad ;
pad ( ' abc ' , 8 )
// => ' abc '
pad ( ' abc ' , 8 , ' _- ' )
// => '_-abc_-_'
pad ( ' abc ' , 2 )
// => 'abc'
แผ่น string
ทางด้านขวาหากสั้นกว่า length
อักขระการขยายจะถูกตัดทอนหากมี length
เกิน
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเป็นแผ่น
@param int $ length ความยาวช่องว่าง
@Param String $ chars สตริงที่ใช้เป็นช่องว่างภายใน
กลับ:
@return สตริงส่งคืนสตริงเบาะ
ตัวอย่าง:
<?php
use function _ padEnd ;
padEnd ( ' abc ' , 6 )
// => 'abc '
padEnd ( ' abc ' , 6 , ' _- ' )
// => 'abc_-_'
padEnd ( ' abc ' , 2 )
// => 'abc'
สตริง string
ด้านซ้ายถ้ามันสั้นกว่า length
อักขระการขยายจะถูกตัดทอนหากมี length
เกิน
ข้อโต้แย้ง:
@Param String $ string = '' สตริงไปที่ PAD
@param int $ length ความยาวช่องว่าง
@Param String $ chars สตริงที่ใช้เป็นช่องว่างภายใน
กลับ:
@return สตริงส่งคืนสตริงเบาะ
ตัวอย่าง:
<?php
use function _ padStart ;
padStart ( ' abc ' , 6 )
// => ' abc'
padStart ( ' abc ' , 6 , ' _- ' )
// => '_-_abc'
padStart ( ' abc ' , 2 )
// => 'abc'
แปลง string
เป็นจำนวนเต็มของ radix ที่ระบุ หาก radix
undefined
หรือ 0
จะใช้ radix
ของ 10
เว้นแต่ string
เป็น hexadecimal ซึ่งในกรณีนี้จะใช้ radix
ของ 16
หมายเหตุ: วิธีนี้ใช้การหล่อจำนวนเต็มในตัวของ PHP ซึ่งไม่จำเป็นต้องสอดคล้องกับการใช้งาน ES5 ของ parseInt
ข้อโต้แย้ง:
@Param (int | float | สตริง) $ สตริงสตริงที่จะแปลง
@param int $ radix the radix เพื่อตีความ string
โดย
กลับ:
@return int ส่งคืนจำนวนเต็มแปลง
ตัวอย่าง:
<?php
use function _ parseInt ;
parseInt ( ' 08 ' )
// => 8
ทำซ้ำสตริงที่กำหนด n
ครั้ง
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะทำซ้ำ
@param int $ n จำนวนครั้งที่จะทำซ้ำสตริง
กลับ:
@return สตริงส่งคืนสตริงซ้ำ
ตัวอย่าง:
<?php
use function _ repeat ;
repeat ( ' * ' , 3 )
// => '***'
repeat ( ' abc ' , 2 )
// => 'abcabc'
repeat ( ' abc ' , 0 )
// => ''
แทนที่การจับคู่สำหรับ pattern
ใน string
replacement
หมายเหตุ: วิธีนี้ขึ้นอยู่กับ String#replace
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเพื่อแก้ไข
@Param สตริง $ รูปแบบรูปแบบที่จะแทนที่
@Param (เรียกได้ | สตริง) $ แทนที่การแทนที่การจับคู่
กลับ:
@return สตริงส่งคืนสตริงที่แก้ไขแล้ว
ตัวอย่าง:
<?php
use function _ replace ;
replace ( ' Hi Fred ' , ' Fred ' , ' Barney ' )
// => 'Hi Barney'
แปลง string
เป็นเคสงู
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return String ส่งคืนสตริง Snake Cased
ตัวอย่าง:
<?php
use function _ snakeCase ;
snakeCase ( ' Foo Bar ' )
// => 'foo_bar'
snakeCase ( ' fooBar ' )
// => 'foo_bar'
snakeCase ( ' --FOO-BAR-- ' )
// => 'foo_bar'
แยก string
โดย separator
หมายเหตุ: วิธีนี้ขึ้นอยู่กับ String#split
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแยก
@Param String $ separator รูปแบบตัวคั่นที่จะแยกโดย
@param int $ จำกัดความยาวในการตัดทอนผลลัพธ์เป็น
กลับ:
@return Array ส่งคืนกลุ่มสตริง
ตัวอย่าง:
<?php
use function _ split ;
split ( ' a-b-c ' , ' - ' , 2 )
// => ['a', 'b']
แปลง string
เป็นกรณีเริ่มต้น
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริงเริ่มต้น
ตัวอย่าง:
<?php
use function _ startCase ;
startCase ( ' --foo-bar-- ' )
// => 'Foo Bar'
startCase ( ' fooBar ' )
// => 'Foo Bar'
startCase ( ' __FOO_BAR__ ' )
// => 'FOO BAR'
ตรวจสอบว่า string
เริ่มต้นด้วยสตริงเป้าหมายที่กำหนด
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะตรวจสอบ
@Param String $ target สตริงเพื่อค้นหา
@param int $ ตำแหน่งตำแหน่งที่จะค้นหาจาก
กลับ:
@return บูลีนส่งคืน true
ถ้า string
เริ่มต้นด้วย target
อื่น ๆ false
ตัวอย่าง:
<?php
use function _ startsWith ;
startsWith ( ' abc ' , ' a ' )
// => true
startsWith ( ' abc ' , ' b ' )
// => false
startsWith ( ' abc ' , ' b ' , 1 )
// => true
สร้างฟังก์ชั่นเทมเพลตที่รวบรวมได้ซึ่งสามารถแทรกคุณสมบัติข้อมูลในตัวคั่น "อินเทอร์เฟเลต", คุณสมบัติข้อมูล HTML-Escape ที่มีการแก้ไขในตัวคั่น "หลบหนี" และดำเนินการ PHP ใน "ประเมิน" ตัวคั่น คุณสมบัติข้อมูลอาจเข้าถึงได้เป็นตัวแปรฟรีในเทมเพลต หากได้รับวัตถุการตั้งค่าจะมีความสำคัญกว่าค่า $templateSettings
ตัวเลือก regexp $ ['Escape'] = _ :: $ templatesettings ['Escape'] ตัวคั่น "หลบหนี" HTML ตัวเลือก regexp $ ['ประเมิน'] = _ :: $ templatesettings ['ประเมิน'] ตัวคั่น "ประเมิน" ตัวเลือกอาร์เรย์ $ ['นำเข้า'] = _ :: $ templatesettings ['นำเข้า'] วัตถุที่จะนำเข้าสู่เทมเพลตเป็นตัวแปรฟรี ตัวเลือก regexp $ ['interpolate'] = _ :: $ templatesettings ['interpolate'] ตัวคั่น "interpolate"
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเทมเพลต
@Param Array $ oppical ตัวเลือกอาร์เรย์ตัวเลือก
กลับ:
@return callable ส่งคืนฟังก์ชันเทมเพลตที่รวบรวม
ตัวอย่าง:
<?php
use function _ template ;
// Use the "interpolate" delimiter to create a compiled template.
$ compiled = template ( ' hello <%= user %>! ' )
$ compiled ([ ' user ' => ' fred ' ])
// => 'hello fred!'
// Use the HTML "escape" delimiter to escape data property values.
$ compiled = template ( ' <b><%- value %></b> ' )
$ compiled ([ ' value ' => ' <script> ' ])
// => '<b><script></b>'
// Use the "evaluate" delimiter to execute JavaScript and generate HTML.
$ compiled = template ( ' <% foreach($users as $user) { %><li><%- user %></li><% }%> ' )
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use the internal `print` function in "evaluate" delimiters.
$ compiled = template ( ' <% print("hello " + $user)%>! ' )
$ compiled ([ ' user ' => ' barney ' ])
// => 'hello barney!'
// Use backslashes to treat delimiters as plain text.
$ compiled = template ( ' <%= " \ <%- value % \ >" %> ' )
$ compiled ([ ' value ' => ' ignored ' ])
// => '<%- value %>'
// Use the `imports` option to import functions or classes with aliases.
$ text = ' <% all($users, function($user) { %><li><%- user %></li><% })%> '
$ compiled = template( $ text , { ' imports ' : { ' _each ' : ' all ' } })
$ compiled ([ ' users ' => [ ' fred ' , ' barney ' ] ])
// => '<li>fred</li><li>barney</li>'
// Use custom template delimiters.
_:: $ templateSettings [ ' interpolate ' ] = ' {{([sS]+?)}} '
$ compiled = template ( ' hello {{ user }}! ' )
$ compiled ([ ' user ' => ' mustache ' ])
// => 'hello mustache!'
// Use the `source` property to access the compiled source of the template
template ( $ mainText )-> source ;
แปลง string
โดยรวมเป็นตัวพิมพ์เล็ก
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return String ส่งคืนสตริง cased ล่าง
ตัวอย่าง:
<?php
use function _ toLower ;
toLower ( ' --Foo-Bar-- ' )
// => '--foo-bar--'
toLower ( ' fooBar ' )
// => 'foobar'
toLower ( ' __FOO_BAR__ ' )
// => '__foo_bar__'
แปลง string
โดยรวมเป็นตัวพิมพ์ใหญ่
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริงด้านบน
ตัวอย่าง:
<?php
use function _ toUpper ;
toUpper ( ' --foo-bar-- ' )
// => '--FOO-BAR--'
toUpper ( ' fooBar ' )
// => 'FOOBAR'
toUpper ( ' __foo_bar__ ' )
// => '__FOO_BAR__'
ลบช่องว่างชั้นนำและต่อท้ายหรืออักขระที่ระบุออกจาก string
ข้อโต้แย้ง:
@Param String $ String สตริงเป็น TRIM
@Param String $ chars ตัวละครที่จะตัดแต่ง
กลับ:
@return สตริงส่งคืนสตริงที่ถูกตัดแต่ง
ตัวอย่าง:
<?php
use function _ trim ;
trim ( ' abc ' )
// => 'abc'
trim ( ' -_-abc-_- ' , ' _- ' )
// => 'abc'
ลบช่องว่างที่ต่อท้ายหรืออักขระที่ระบุออกจาก string
ข้อโต้แย้ง:
@Param String $ String สตริงเป็น TRIM
@Param String $ chars ตัวละครที่จะตัดแต่ง
กลับ:
@return สตริงส่งคืนสตริงที่ถูกตัดแต่ง
ตัวอย่าง:
<?php
use function _ trimEnd ;
trimEnd ( ' abc ' )
// => ' abc'
trimEnd ( ' -_-abc-_- ' , ' _- ' )
// => '-_-abc'
ลบช่องว่างชั้นนำหรืออักขระที่ระบุออกจาก string
ข้อโต้แย้ง:
@Param String $ String สตริงเป็น TRIM
@Param String $ chars ตัวละครที่จะตัดแต่ง
กลับ:
@return สตริงส่งคืนสตริงที่ถูกตัดแต่ง
ตัวอย่าง:
<?php
use function _ trimStart ;
trimStart ( ' abc ' )
// => 'abc '
trimStart ( ' -_-abc-_- ' , ' _- ' )
// => 'abc-_-'
ตัดทอน string
ถ้ามันยาวกว่าความยาวสตริงสูงสุดที่กำหนด อักขระสุดท้ายของสตริงที่ถูกตัดทอนจะถูกแทนที่ด้วยสตริงการละเว้นซึ่งค่าเริ่มต้นเป็น "... "
ความยาว = 30 ความยาวสตริงสูงสุด omission = '... ' สตริงเพื่อระบุข้อความถูกละเว้น ตัวคั่นรูปแบบตัวคั่นเพื่อตัดทอน
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเพื่อตัดทอน
@Param Array $ OPTIONS OPTION OBCTOUL
กลับ:
@return สตริงส่งคืนสตริงที่ถูกตัดทอน
ตัวอย่าง:
<?php
use function _ truncate ;
truncate ( ' hi-diddly-ho there, neighborino ' )
// => 'hi-diddly-ho there, neighbo...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' '
])
// => 'hi-diddly-ho there,...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' length ' => 24 ,
' separator ' => ' /,? +/ '
])
// => 'hi-diddly-ho there...'
truncate ( ' hi-diddly-ho there, neighborino ' , [
' omission ' => ' [...] '
])
// => 'hi-diddly-ho there, neig [...]'
ผกผันของ escape
วิธีนี้จะแปลงเอนทิตี HTML &
, <
, >
, "
และ '
ใน string
กับอักขระที่เกี่ยวข้อง
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงเป็น Unsescape
กลับ:
@return สตริงส่งคืนสตริงที่ยังไม่ได้รับ
ตัวอย่าง:
<?php
use function _ unescape ;
unescape ( ' fred, barney, & pebbles ' )
// => 'fred, barney, & pebbles'
แปลง string
เป็นคำที่แยกพื้นที่เป็นตัวพิมพ์ใหญ่
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริง cased ด้านบน
ตัวอย่าง:
<?php
use function _ upperCase ;
upperCase ( ' --foo-bar ' )
// => 'FOO BAR'
upperCase ( ' fooBar ' )
// => 'FOO BAR'
upperCase ( ' __foo_bar__ ' )
// => 'FOO BAR'
แปลงอักขระแรกของ string
เป็นตัวพิมพ์ใหญ่
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะแปลง
กลับ:
@return สตริงส่งคืนสตริงที่แปลงแล้ว
ตัวอย่าง:
<?php
use function _ upperFirst ;
upperFirst ( ' fred ' )
// => 'Fred'
upperFirst ( ' FRED ' )
// => 'FRED'
แยก string
ออกเป็นอาร์เรย์ของคำพูด
ข้อโต้แย้ง:
@Param สตริง $ สตริงสตริงที่จะตรวจสอบ
@Param String $ pattern รูปแบบที่จะจับคู่คำ
กลับ:
@return Array ส่งคืนคำพูดของ string
ตัวอย่าง:
<?php
use function _ words ;
words ( ' fred, barney, & pebbles ' )
// => ['fred', 'barney', 'pebbles']
words ( ' fred, barney, & pebbles ' , ' /[^, ]+/g ' )
// => ['fred', 'barney', '&', 'pebbles']
ความพยายามที่จะเรียกใช้ func
ส่งคืนผลลัพธ์หรือวัตถุข้อผิดพลาดที่จับได้ มีข้อโต้แย้งเพิ่มเติมใด ๆ ให้กับ func
เมื่อมีการเรียกใช้
ข้อโต้แย้ง:
@param callable $ func ฟังก์ชั่นที่จะลอง
@Param Array <int, mixed> $ args อาร์กิวเมนต์เพื่อเรียกใช้ func
ด้วย
กลับ:
@return (ผสม | throwable) ส่งคืนผลลัพธ์ func
หรือวัตถุข้อผิดพลาด
ตัวอย่าง:
<?php
use function _ attempt ;
// Avoid throwing errors for invalid PDO data source.
$ elements = attempt ( function () {
new PDO ( null );
});
if ( isError ( $ elements )) {
$ elements = [];
}
ตรวจสอบค่าเพื่อตรวจสอบว่าควรส่งคืนค่าเริ่มต้นในสถานที่หรือไม่ defaultValue จะถูกส่งคืนหากค่าเป็น NAN หรือ NULL
ข้อโต้แย้ง:
@param ผสม $ ค่าใด ๆ
@param ผสม $ defaultValue ค่าที่จะส่งคืนเมื่อ $ value เป็น NULL หรือ NAN
กลับ:
@return value
ผลตอบแทนผสม
ตัวอย่าง:
<?php
use function _ defaultTo ;
$ a = null ;
defaultTo ( $ a , " default " );
// => "default"
$ a = " x " ;
defaultTo ( $ a , " default " );
// => "x"
วิธีนี้ส่งคืนอาร์กิวเมนต์แรกที่ได้รับ
ข้อโต้แย้ง:
@param ผสม $ ค่าใด ๆ
กลับ:
@return value
ผลตอบแทนผสม
ตัวอย่าง:
<?php
use function _ identity ;
$ object = [ ' a ' => 1 ];
identity ( $ object ) === $ object ;
// => true
สร้างฟังก์ชั่นที่ส่งคืนค่าที่ path
ของวัตถุที่กำหนด
ข้อโต้แย้ง:
@Param (อาร์เรย์ | สตริง) $ พา ธ เส้นทางของคุณสมบัติที่จะได้รับ
กลับ:
@return callable ส่งคืนฟังก์ชั่น accessor ใหม่
ตัวอย่าง:
<?php
use function _ property ;
$ objects = [
[ ' a ' => [ ' b ' => 2 ] ],
[ ' a ' => [ ' b ' => 1 ] ]
];
map ( $ objects , property ( ' a.b ' ));
// => [2, 1]
map ( sortBy ( $ objects , property ([ ' a ' , ' b ' ])), ' a.b ' );
// => [1, 2]