amhislop/php-snippets-for-js-devs

PHP Snippets for JavaScript Developers

v1.0.0 2022-01-28 05:45 UTC

This package is auto-updated.

Last update: 2024-09-28 12:00:41 UTC


README

PHP Snippets for JavaScript Developers

PHP开发者熟悉和喜爱的不可变数组函数集合。

函数

文档

array_some

定义

array_some( callable $callback, array $array ) : bool

array_some 函数检查数组中是否有任何元素通过回调函数设置的条件,并根据回调函数是否满足至少一个数组项的条件返回一个布尔值。

JavaScript 对应: Array.some()

参数

  • callback - 每次迭代要执行的函数

    callback( mixed $item [, int $index ] ) : bool
    
    • item - 当前迭代
    • index - 当前索引
  • array - 要迭代的数组

返回值

根据回调函数是否满足至少一个数组项的条件返回一个布尔值。

用法

$nums = [13, 85, 15, 23];

$result = array_some(function ($num) {
  return $num > 60;
}, $nums);

// $result: TRUE

array_every

定义

array_every( callable $callback, array $array ) : bool

array_every 函数检查数组中的所有元素是否通过回调函数设置的条件,并根据回调函数是否满足所有数组项的条件返回一个布尔值。

JavaScript 对应: Array.every()

参数

  • callback - 每次迭代要执行的函数

    callback( mixed $item [, int $index ] ) : bool
    
    • item - 当前迭代
    • index - 当前索引
  • array - 要迭代的数组

返回值

根据回调函数是否满足所有数组项的条件返回一个布尔值。

用法

$nums = [13, 85, 15, 'John'];

$result = array_every(function ($num) {
  return is_numeric($num);
}, $nums);

// $result: FALSE

array_find

定义

array_find( callable $callback, array $array ) : mixed

array_find 函数遍历数组,返回回调函数返回条件的第一个元素。

JavaScript 对应: Array.find()

参数

  • callback - 每次迭代要执行的函数

    callback( mixed $item [, int $index ] ) : bool
    
    • item - 当前迭代
    • index - 当前索引
  • array - 要迭代的数组

返回值

返回满足回调函数返回条件的第一个元素。如果没有元素满足条件,则返回 NULL。

用法

$names = ['Sam', 'Damo', 'Kate', 'Lucy'];

$result = array_find(function ($name) {
  return $name === 'Lucy';
}, $names);

// $result: 'Lucy'

array_sort

定义

array_sort( array $array [, callable $callback ] ) : array

array_sort 函数根据回调函数返回的正、中或负值对给定数组的项进行排序。如果没有提供回调函数,则数组将根据数字或字母值排序。

JavaScript 对应: Array.sort()

参数

  • array - 要排序的数组
  • callback - 比较数组中连续两个值的函数
    callback( mixed $first, mixed $second ) : bool
    
    • first - 比较的第一个元素。
    • second - 比较的第二个元素。

返回值

排序后的数组

用法

$nums = [1, 7, 3, 2, 8];

// Sort in descending order
$desc_nums = array_sort($nums, function ($first, $second) {
  return $second - $first;
});
// $desc_nums: [ 8, 7, 3, 2, 1 ]

// Sort in ascending order
$asc_nums = array_sort($nums);
// $asc_nums: [ 1, 2, 3, 7, 8 ]

array_flat

定义

array_flat( array $array [, mixed $depth = 1 ] ): array

array_flat 函数创建一个新的数组,将所有子数组元素递归地添加到其中,直到指定的深度。可以传递预定义的 INF 常量来表示无限深度。

JavaScript 对应 Array.flat()

参数

  • array - 要扁平化的嵌套数组
  • depth - 指定应该扁平化嵌套数组结构的深度。默认为 1。

返回值

包含子数组值的新的数组

用法

$data = [ 1, 2, [ 3, 4, [ 5, 6, [ 7, 8 ] ] ] ];

$flattened_array = array_flat( $data, 2 );

// $flattened_array = [ 1, 2, 3, 4, 5, 6, [ 7, 8 ] ];

array_entries

定义

array_entries( array $array ) : array

array_entries 函数返回一个新数组,包含给定数组的键和值的数组。

JavaScript 对应: Object.entries()

参数

  • array - 返回其 [key => value] 对的数组

返回值

包含给定数组 [key => value] 对的数组数组

用法

$key_value_array = [
  'Maths' => 95,
  'Physics' => 90,
  'Chemistry' => 96,
  'English' => 93,
  'Computer' => 90
];

$entries = array_entries($key_value_array);
// $entries: [
//   [ 'Maths', 95 ],
//   [ 'Physics', 90 ],
//   [ 'Chemistry', 96 ],
//   [ 'English', 93 ],
//   [ 'Computer', 90 ]
// ];

array_from_entries

定义

array_from_entries( array $array ) : array

array_from_entries 函数根据提供的数组恢复一个新的 [key => value] 数组。

JavaScript 对应: Object.fromEntries()

参数

  • array - 其数组将被恢复到字符串键 [key => value] 格式的数组

返回值

创建一个新数组,其中包含与给定数组项匹配的键值对

用法

$entries = [
  ['Maths', 95],
  ['Physics', 90],
  ['Chemistry', 96],
  ['English', 93],
  ['Computer', 90]
];

$key_value_array = array_from_entries($entries);

// $key_value_array: [
//   "Maths"  =>	95,
//   "Physics"  =>	90,
//   "Chemistry"  =>	96,
//   "English"  =>	93,
//   "Computer" =>	90
// ];

许可证

MIT © amhislop