数组
- array_change_key_case - 将数组中的所有键名修改为全大写或全小写
- array_chunk - 将一个数组分割成多个
- array_column - 返回数组中指定的一列
- array_combine - 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
- array_count_values - 统计数组中所有的值
- array_diff_assoc - 带索引检查来计算数组的差集
- array_diff_key - 对键名比较来计算数组的差集
- array_diff_uassoc - 使用用户提供的回调函数做索引检查来计算数组的差集
- array_diff_ukey - 使用用户提供的回调函数对键名比较来计算数组的差集
- array_diff - 计算数组的差集
- array_fill_keys - 使用指定的键和值填充数组
- array_fill - 用给定的值填充数组
- array_filter - 用回调函数过滤数组中的单元
- array_flip - 交换数组中的键和值
- array_intersect_assoc - 带索引检查来计算数组的交集
- array_intersect_key - 对键名比较来计算数组的交集
- array_intersect_uassoc - 使用用户提供的回调函数做索引检查来计算数组的交集
- array_intersect_ukey - 使用用户提供的回调函数对键名比较来计算数组的交集
- array_intersect - 计算数组的交集
- array_key_exists - 检查数组里是否有指定的键名或索引
- array_key_first - 获取数组的第一个键
- array_key_last - 获取数组的最后一个键
- array_keys - 返回数组中部分的或所有的键名
- array_map - 为数组的每个元素应用回调函数
- array_merge_recursive - 递归地合并一个或多个数组
- array_merge - 合并一个或多个数组
- array_multisort - 对多个数组或多维数组进行排序
- array_pad - 以指定长度将一个值填充进数组
- array_pop - 弹出数组最后一个单元(出栈)
- array_product - 计算数组中所有值的乘积
- array_push - 将一个或多个单元压入数组的末尾(入栈)
- array_rand - 从数组中随机取出一个或多个单元
- array_reduce - 用回调函数迭代地将数组简化为单一的值
- array_replace_recursive - 使用传递的数组递归地替换第一个数组的元素
- array_replace - 使用传递的数组替换第一个数组的元素
- array_reverse - 返回单元顺序相反的数组
- array_search - 在数组中搜索给定的值,如果成功则返回首个相应的键名
- array_shift - 将数组开头的单元移出数组
- array_slice - 从数组中取出一段
- array_splice - 去掉数组中的某一部分并用其它值取代
- array_sum - 对数组中所有值求和
- array_udiff_assoc - 带索引检查来计算数组的差集,使用用户提供的回调函数比较数据
- array_udiff_uassoc - 带索引检查来计算数组的差集,使用用户提供的回调函数比较数据和索引
- array_udiff - 使用用户提供的回调函数来计算数组的差集
- array_uintersect_assoc - 带索引检查来计算数组的交集,使用用户提供的回调函数比较数据
- array_uintersect_uassoc - 带索引检查来计算数组的交集,使用用户提供的回调函数比较数据和索引
- array_uintersect - 使用用户提供的回调函数来计算数组的交集
- array_unique - 移除数组中重复的值
- array_unshift - 在数组开头插入一个或多个单元
- array_values - 返回数组中所有的值
- array_walk_recursive - 使用用户自定义函数对数组中的每个元素递归地做回调处理
- array_walk - 使用用户自定义函数对数组中的每个元素做回调处理
- array - 新建一个数组
- arsort - 对数组中的值进行逆向排序并保持索引关联
- asort - 对数组中的值进行排序并保持索引关联
- compact - 创建一个包含变量名和它们的值的数组
- count - 计算数组中的单元数目,或对象中的属性个数
- current - 返回数组中的当前单元
- end - 将数组的内部指针指向最后一个单元
- extract - 从数组中将变量导入到当前的符号表
- in_array - 检查数组中是否存在某个值
- key_exists - 检查数组里是否有指定的键名或索引
- key - 从数组中取得键名
- krsort - 对数组中的键名进行逆向排序
- ksort - 对数组中的键名进行排序
- list - 把数组中的值赋给一组变量
- natcasesort - 用“自然排序”算法对数组中的值进行不区分大小写字母的排序并保持索引关联
- natsort - 用“自然排序”算法对数组中的值进行排序并保持索引关联
- next - 将数组中的内部指针向前移动一位
- pos - 返回数组中的当前单元
- prev - 将数组的内部指针倒回一位
- range - 根据范围创建数组,包含指定的元素
- reset - 将数组的内部指针指向第一个单元
- rsort - 对数组中的值进行逆向排序
- shuffle - 打乱数组
- sizeof - 计算数组中的单元数目,或对象中的属性个数
- sort - 对数组中的值进行排序
- uasort - 使用用户自定义函数对数组中的值进行排序并保持索引关联
- uksort - 使用用户自定义函数对数组中的键名进行排序
- usort - 使用用户自定义函数对数组中的值进行排序
array_change_key_case
<?php
var_dump(array_change_key_case([2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_change_key_case(['foo' => 'cat', 'bar' => 'dog'])); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array_change_key_case(['foo' => 'cat', 'bar' => 'dog'], CASE_LOWER)); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array_change_key_case(['foo' => 'cat', 'bar' => 'dog'], CASE_UPPER)); // array(2) { ["FOO"]=> string(3) "cat" ["BAR"]=> string(3) "dog" }
var_dump(array_change_key_case(['foo' => 'cat', 'FOO' => 'dog'], CASE_LOWER)); // array(1) { ["foo"]=> string(3) "dog" }
var_dump(array_change_key_case(['foo' => 'cat', 'FOO' => 'dog'], CASE_UPPER)); // array(1) { ["FOO"]=> string(3) "dog" }
array_chunk
<?php
var_dump(array_chunk([2, 4, 5], 2)); // array(2) { [0]=> array(2) { [0]=> int(2) [1]=> int(4) } [1]=> array(1) { [0]=> int(5) } }
var_dump(array_chunk(['foo' => 'cat', 'bar' => 'dog'], 1)); // array(2) { [0]=> array(1) { [0]=> string(3) "cat" } [1]=> array(1) { [0]=> string(3) "dog" } }
var_dump(array_chunk(['foo' => 'cat', 'bar' => 'dog'], 1, true)); // array(2) { [0]=> array(1) { ["foo"]=> string(3) "cat" } [1]=> array(1) { ["bar"]=> string(3) "dog" } }
array_column
<?php
var_dump(array_column([[2], [4], [5]], 0)); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_column([['id' => 2135, 'name' => 'cat'], ['id' => 3245, 'name' => 'dog']], 'name')); // array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" }
var_dump(array_column([['id' => 2135, 'name' => 'cat'], ['id' => 3245, 'name' => 'dog']], 'name', 'id')); // array(2) { [2135]=> string(3) "cat" [3245]=> string(3) "dog" }
var_dump(array_column([['id' => 2135, 'name' => 'cat'], ['id' => 3245, 'name' => 'dog']], null)); // array(2) { [0]=> array(2) { ["id"]=> int(2135) ["name"]=> string(3) "cat" } [1]=> array(2) { ["id"]=> int(3245) ["name"]=> string(3) "dog" } }
var_dump(array_column([['id' => 2135, 'name' => 'cat'], ['id' => 3245, 'name' => 'dog']], null, 'id')); // array(2) { [2135]=> array(2) { ["id"]=> int(2135) ["name"]=> string(3) "cat" } [3245]=> array(2) { ["id"]=> int(3245) ["name"]=> string(3) "dog" } }
array_combine
<?php
var_dump(array_combine([0, 1, 2], [2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_combine([0, 0, 0], [2, 4, 5])); // array(1) { [0]=> int(5) }
var_dump(array_combine(['foo', 'bar'], ['cat', 'dog'])); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array_combine(['foo', 'bar'], [['cat'], ['dog']])); // array(2) { ["foo"]=> array(1) { [0]=> string(3) "cat" } ["bar"]=> array(1) { [0]=> string(3) "dog" } }
array_count_values
<?php
var_dump(array_count_values(['foo', 'bar'])); // array(2) { ["foo"]=> int(1) ["bar"]=> int(1) }
var_dump(array_count_values(['foo', 'bar', 'FOO', 'BAR'])); // array(4) { ["foo"]=> int(1) ["bar"]=> int(1) ["FOO"]=> int(1) ["BAR"]=> int(1) }
var_dump(array_count_values([0, 1, 2, '2'])); // array(3) { [0]=> int(1) [1]=> int(1) [2]=> int(2) }
array_diff_assoc
<?php
var_dump(array_diff_assoc([2, 4, 5], [2, 4, 5])); // array(0) { }
var_dump(array_diff_assoc([2, 4, 5], [2])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_assoc([2, 4, 5], ['2', '04', '05'])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_assoc(['foo' => 'cat'], ['bar' => 'dog'])); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_diff_assoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'])); // array(0) { }
array_diff_key
<?php
var_dump(array_diff_key([2, 4, 5], [2, 4, 5])); // array(0) { }
var_dump(array_diff_key([2, 4, 5], [2])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_key([2, 4, 5], ['0' => 'cat', 'bar' => 'dog'])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_key(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], ['foo' => 0, 'bar' => 1])); // array(1) { ["baz"]=> string(4) "bird" }
var_dump(array_diff_key(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'])); // array(0) { }
array_diff_uassoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_diff_uassoc([2, 4, 5], [2, 4, 5], 'foo')); // array(0) { }
var_dump(array_diff_uassoc([2, 4, 5], [2], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_uassoc([2, 4, 5], ['0' => '2', 'bar' => 'dog'], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_uassoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_diff_uassoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_diff_ukey
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_diff_ukey([2, 4, 5], [2, 4, 5], 'foo')); // array(0) { }
var_dump(array_diff_ukey([2, 4, 5], [2], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_ukey([2, 4, 5], ['0' => 'cat', 'bar' => 'dog'], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff_ukey(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], ['foo' => 0, 'bar' => 1], 'foo')); // array(1) { ["baz"]=> string(4) "bird" }
var_dump(array_diff_ukey(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_diff
<?php
var_dump(array_diff([2, 4, 5], [2, 4, 5])); // array(0) { }
var_dump(array_diff([2, 4, 5], ['2'])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff([2, 4, 5, 2], [0, 1, 2])); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_diff([2, 4, 5], [0], [2])); // array(2) { [1]=> int(4) [2]=> int(5) }
array_fill_keys
<?php
var_dump(array_fill_keys([2, 4, 5], 0)); // array(3) { [2]=> int(0) [4]=> int(0) [5]=> int(0) }
var_dump(array_fill_keys(['foo', 'bar', 'baz'], 'cat')); // array(3) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "cat" ["baz"]=> string(3) "cat" }
var_dump(array_fill_keys(['foo', 'bar', 'baz'], ['cat', 'dog', 'bird'])); // array(3) { ["foo"]=> array(3) { [0]=> string(3) "cat" [1]=> string(3) "dog" [2]=> string(4) "bird" } ["bar"]=> array(3) { [0]=> string(3) "cat" [1]=> string(3) "dog" [2]=> string(4) "bird" } ["baz"]=> array(3) { [0]=> string(3) "cat" [1]=> string(3) "dog" [2]=> string(4) "bird" } }
array_fill
<?php
var_dump(array_fill(0, 3, 0)); // array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) }
var_dump(array_fill(2, 3, 0)); // array(3) { [2]=> int(0) [3]=> int(0) [4]=> int(0) }
var_dump(array_fill(-2, 3, 0)); // array(3) { [-2]=> int(0) [0]=> int(0) [1]=> int(0) }
var_dump(array_fill(0, 3, array_fill(0, 3, 0))); // array(3) { [0]=> array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) } [1]=> array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) } [2]=> array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) } }
array_filter
<?php
/**
* Filter odd number.
*
* @param int $value
* @return bool
*/
function foo(int $value): bool
{
return ($value & 1);
}
/**
* Filter even number.
*
* @param int $value
* @return bool
*/
function bar(int $value): bool
{
return !($value & 1);
}
/**
* Filter the specified value and key.
*
* @param int $value
* @param int $key
* @return bool
*/
function baz(int $value, int $key): bool
{
return ($value == 2 && $key == 0);
}
var_dump(array_filter([2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_filter(['foo', 0, 0.0, '0', '', []])); // array(1) { [0]=> string(3) "foo" }
var_dump(array_filter([2, 4, 5], 'foo')); // array(1) { [2]=> int(5) }
var_dump(array_filter([2, 4, 5], 'bar')); // array(2) { [0]=> int(2) [1]=> int(4) }
var_dump(array_filter([2, 4, 5], 'foo', ARRAY_FILTER_USE_KEY)); // array(1) { [1]=> int(4) }
var_dump(array_filter([2, 4, 5], 'bar', ARRAY_FILTER_USE_KEY)); // array(2) { [0]=> int(2) [2]=> int(5) }
var_dump(array_filter([2, 4, 5], 'baz', ARRAY_FILTER_USE_BOTH)); // array(1) { [0]=> int(2) }
array_flip
<?php
var_dump(array_flip([2, 4, 5])); // array(3) { [2]=> int(0) [4]=> int(1) [5]=> int(2) }
var_dump(array_flip(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // array(3) { ["cat"]=> string(3) "foo" ["dog"]=> string(3) "bar" ["bird"]=> string(3) "baz" }
var_dump(array_flip([2, 4, 5, '2', '4', '5'])); // array(3) { [2]=> int(3) [4]=> int(4) [5]=> int(5) }
array_intersect_assoc
<?php
var_dump(array_intersect_assoc([2, 4, 5], [2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_intersect_assoc([2, 4, 5], [2])); // array(1) { [0]=> int(2) }
var_dump(array_intersect_assoc([2, 4, 5], ['2', '04', '05'])); // array(1) { [0]=> int(2) }
var_dump(array_intersect_assoc(['foo' => 'cat'], ['bar' => 'dog'])); // array(0) { }
var_dump(array_intersect_assoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'])); // array(0) { }
array_intersect_key
<?php
var_dump(array_intersect_key([2, 4, 5], [2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_intersect_key([2, 4, 5], [2])); // array(1) { [0]=> int(2) }
var_dump(array_intersect_key([2, 4, 5], ['0' => 'cat', 'bar' => 'dog'])); // array(1) { [0]=> int(2) }
var_dump(array_intersect_key(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], ['foo' => 0, 'bar' => 1])); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array_intersect_key(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'])); // array(0) { }
array_intersect_uassoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_intersect_uassoc([2, 4, 5], [2, 4, 5], 'foo')); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_intersect_uassoc([2, 4, 5], [2], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_intersect_uassoc([2, 4, 5], ['0' => '2', 'bar' => 'dog'], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_intersect_uassoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(0) { }
var_dump(array_intersect_uassoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_intersect_ukey
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_intersect_ukey([2, 4, 5], [2, 4, 5], 'foo')); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_intersect_ukey([2, 4, 5], [2], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_intersect_ukey([2, 4, 5], ['0' => 'cat', 'bar' => 'dog'], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_intersect_ukey(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], ['foo' => 0, 'bar' => 1], 'foo')); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array_intersect_ukey(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_intersect
<?php
var_dump(array_intersect([2, 4, 5], [2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_intersect([2, 4, 5], ['2'])); // array(1) { [0]=> int(2) }
var_dump(array_intersect([2, 4, 5, 2], [0, 1, 2])); // array(2) { [0]=> int(2) [3]=> int(2) }
var_dump(array_intersect([2, 4, 5], [0], [2])); // array(0) { }
array_key_exists
<?php
var_dump(array_key_exists(0, [2, 4, 5])); // bool(true)
var_dump(array_key_exists('foo', [2, 4, 5])); // bool(false)
var_dump(array_key_exists('foo', ['foo' => 'cat', 'bar' => 'dog'])); // bool(true)
array_key_first
<?php
var_dump(array_key_first([2, 4, 5])); // int(0)
var_dump(array_key_first(['foo' => 'cat', 'bar' => 'dog'])); // string(3) "foo"
array_key_last
<?php
var_dump(array_key_last([2, 4, 5])); // int(2)
var_dump(array_key_last(['foo' => 'cat', 'bar' => 'dog'])); // string(3) "bar"
array_keys
<?php
var_dump(array_keys([2, 4, 5])); // array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2) }
var_dump(array_keys(['foo' => 'cat', 'bar' => 'dog'])); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "bar" }
var_dump(array_keys([2, 4, 5], '5')); // array(1) { [0]=> int(2) }
var_dump(array_keys([2, 4, 5], '5', true)); // array(0) { }
array_map
<?php
/**
* Calculate the cube of an integer.
*
* @param int $number
* @return int
*/
function foo(int $number): int
{
return $number ** 3;
}
/**
* Calculate the sum of two integers.
*
* @param int $a
* @param int $b
* @return int
*/
function bar(int $a, int $b): int
{
return $a + $b;
}
var_dump(array_map('foo', [2, 4, 5])); // array(3) { [0]=> int(8) [1]=> int(64) [2]=> int(125) }
var_dump(array_map('bar', [2, 4, 5], [2, 4, 5])); // array(3) { [0]=> int(4) [1]=> int(8) [2]=> int(10) }
var_dump(array_map(null, ['foo' => 'cat'])); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_map(null, [0], ['foo' => 'cat'], [1, 2])); // array(2) { [0]=> array(3) { [0]=> int(0) [1]=> string(3) "cat" [2]=> int(1) } [1]=> array(3) { [0]=> NULL [1]=> NULL [2]=> int(2) } }
var_dump(array_map(fn(int $number): int => $number ** 3, [2, 4, 5])); // array(3) { [0]=> int(8) [1]=> int(64) [2]=> int(125) }
array_merge_recursive
<?php
var_dump(array_merge_recursive([2, 4, 5], [2, 4, 5])); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
var_dump(array_merge_recursive([2, 4, 5], ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" ["baz"]=> string(4) "bird" }
var_dump(array_merge_recursive(['foo' => 'cat', 'bar' => 'dog'], ['foo' => 'dog', 'bar' => 'dog'])); // array(2) { ["foo"]=> array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" } ["bar"]=> array(2) { [0]=> string(3) "dog" [1]=> string(3) "dog" } }
var_dump(array_merge_recursive(['foo' => 'cat', 'bar' => ['dog']], ['foo' => 'dog', 'bar' => 'cat'])); // array(2) { ["foo"]=> array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" } ["bar"]=> array(2) { [0]=> string(3) "dog" [1]=> string(3) "cat" } }
var_dump(array_merge_recursive(['foo' => ['bar' => 'cat'], 2], [4, 'foo' => ['bar' => 'dog', 'bird']])); // array(3) { ["foo"]=> array(2) { ["bar"]=> array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" } [0]=> string(4) "bird" } [0]=> int(2) [1]=> int(4) }
array_merge
<?php
var_dump(array_merge([2, 4, 5], [2, 4, 5])); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
var_dump(array_merge([2, 4, 5], ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" ["baz"]=> string(4) "bird" }
var_dump(array_merge(['foo' => 'cat', 'bar' => 'dog'], ['foo' => 'dog', 'bar' => 'cat'])); // array(2) { ["foo"]=> string(3) "dog" ["bar"]=> string(3) "cat" }
var_dump(array_merge(['foo' => 'cat', 'bar' => ['dog']], ['foo' => 'dog', 'bar' => 'cat'])); // array(2) { ["foo"]=> string(3) "dog" ["bar"]=> string(3) "cat" }
var_dump(array_merge(['foo' => ['bar' => 'cat'], 2], [4, 'foo' => ['bar' => 'dog', 'bird']])); // array(3) { ["foo"]=> array(2) { ["bar"]=> string(3) "dog" [0]=> string(4) "bird" } [0]=> int(2) [1]=> int(4) }
array_multisort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(array_multisort($foo)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
$foo = [2, 4, 5, 0, 1, 2];
$bar = [10, 100, 0, 100, 50, 0];
var_dump(array_multisort($foo, $bar)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
var_dump($bar); // array(6) { [0]=> int(100) [1]=> int(50) [2]=> int(0) [3]=> int(10) [4]=> int(100) [5]=> int(0) }
$foo = ['10', 11, 100, 100, 'a'];
$bar = [1, 2, '2', 3, 1];
var_dump(array_multisort($foo, SORT_REGULAR, $bar)); // bool(true)
var_dump($foo); // array(5) { [0]=> string(2) "10" [1]=> string(1) "a" [2]=> int(11) [3]=> int(100) [4]=> int(100) }
var_dump($bar); // array(5) { [0]=> int(1) [1]=> int(1) [2]=> int(2) [3]=> string(1) "2" [4]=> int(3) }
$foo = ['foo' => '2cat', 'bar' => 'dog', 'baz' => '0bird'];
$bar = [2, 4, 5];
var_dump(array_multisort($foo, SORT_NUMERIC, $bar)); // bool(true)
var_dump($foo); // array(3) { ["bar"]=> string(3) "dog" ["baz"]=> string(5) "0bird" ["foo"]=> string(4) "2cat" }
var_dump($bar); // array(3) { [0]=> int(4) [1]=> int(5) [2]=> int(2) }
$foo = ['10', 11, 100, 100, 'a'];
$bar = [1, 2, '2', 3, 1];
var_dump(array_multisort($foo, SORT_STRING, $bar)); // bool(true)
var_dump($foo); // array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" }
var_dump($bar); // array(5) { [0]=> int(1) [1]=> string(1) "2" [2]=> int(3) [3]=> int(2) [4]=> int(1) }
$foo = ['10', 11, 100, 100, 'a'];
$bar = [1, 2, '2', 3, 1];
var_dump(array_multisort($foo, SORT_LOCALE_STRING, $bar)); // bool(true)
var_dump($foo); // array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" }
var_dump($bar); // array(5) { [0]=> int(1) [1]=> string(1) "2" [2]=> int(3) [3]=> int(2) [4]=> int(1) }
$foo = ['10', 11, 100, 100, 'a'];
$bar = [1, 2, '2', 3, 1];
var_dump(array_multisort($foo, SORT_NATURAL, $bar)); // bool(true)
var_dump($foo); // array(5) { [0]=> string(2) "10" [1]=> int(11) [2]=> int(100) [3]=> int(100) [4]=> string(1) "a" }
var_dump($bar); // array(5) { [0]=> int(1) [1]=> int(2) [2]=> string(1) "2" [3]=> int(3) [4]=> int(1) }
$foo = ['a' => 'Cat1', 'b' => 'cat2', 'c' => 'Cat3', 'd' => 'cat20'];
$bar = [2, 4, 5, 0];
var_dump(array_multisort($foo, SORT_STRING, $bar)); // bool(true)
var_dump($foo); // array(4) { ["a"]=> string(4) "Cat1" ["c"]=> string(4) "Cat3" ["b"]=> string(4) "cat2" ["d"]=> string(5) "cat20" }
var_dump($bar); // array(4) { [0]=> int(2) [1]=> int(5) [2]=> int(4) [3]=> int(0) }
$foo = ['a' => 'Cat1', 'b' => 'cat2', 'c' => 'Cat3', 'd' => 'cat20'];
$bar = [2, 4, 5, 0];
var_dump(array_multisort($foo, SORT_STRING | SORT_FLAG_CASE, $bar)); // bool(true)
var_dump($foo); // array(4) { ["a"]=> string(4) "Cat1" ["b"]=> string(4) "cat2" ["d"]=> string(5) "cat20" ["c"]=> string(4) "Cat3" }
var_dump($bar); // array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(0) [3]=> int(5) }
$foo = ['a' => 'Cat1', 'b' => 'cat2', 'c' => 'Cat3', 'd' => 'cat20'];
$bar = [2, 4, 5, 0];
var_dump(array_multisort($foo, SORT_NATURAL | SORT_FLAG_CASE, $bar)); // bool(true)
var_dump($foo); // array(4) { ["a"]=> string(4) "Cat1" ["b"]=> string(4) "cat2" ["c"]=> string(4) "Cat3" ["d"]=> string(5) "cat20" }
var_dump($bar); // array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(0) }
$foo = ['10', 11, 100, 100, 'a'];
$bar = [1, 2, '2', 3, 1];
var_dump(array_multisort($foo, SORT_ASC, SORT_STRING, $bar, SORT_NUMERIC, SORT_DESC)); // bool(true)
var_dump($foo); // array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" }
var_dump($bar); // array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) }
array_pad
<?php
var_dump(array_pad([2, 4, 5], 5, 0)); // array(5) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(0) [4]=> int(0) }
var_dump(array_pad([2, 4, 5], -6, 1)); // array(6) { [0]=> int(1) [1]=> int(1) [2]=> int(1) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
var_dump(array_pad([2, 4, 5], 2, 0)); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
array_pop
<?php
$foo = [];
var_dump(array_pop($foo)); // NULL
var_dump($foo); // array(0) { }
$foo = [2, 4, 5];
var_dump(array_pop($foo)); // int(5)
var_dump($foo); // array(2) { [0]=> int(2) [1]=> int(4) }
$foo = ['foo' => 'cat', 'bar' => 'dog'];
var_dump(array_pop($foo)); // string(3) "dog"
var_dump($foo); // array(1) { ["foo"]=> string(3) "cat" }
array_product
<?php
var_dump(array_product([])); // int(1)
var_dump(array_product([2, 4, 5])); // int(40)
var_dump(array_product(['foo' => 'cat', 'bar' => 'dog'])); // int(0)
array_push
<?php
$foo = [2, 4, 5];
var_dump(array_push($foo, [])); // int(4)
var_dump($foo); // array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> array(0) { } }
$foo = ['foo' => 'cat', 'bar' => 'dog'];
var_dump(array_push($foo, 'bird')); // int(3)
var_dump($foo); // array(3) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" [0]=> string(4) "bird" }
$foo = ['foo' => 'cat', 'bar' => 'dog'];
var_dump(array_push($foo, [], 'bird')); // int(4)
var_dump($foo); // array(4) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" [0]=> array(0) { } [1]=> string(4) "bird" }
array_rand
<?php
var_dump(array_rand([2, 4, 5]));
var_dump(array_rand(['foo' => 'cat', 'bar' => 'dog'], 1));
var_dump(array_rand([2, 4, 5, 2, 4, 5], 2));
array_reduce
<?php
/**
* Calculate the sum of two integers.
*
* @param int|null $a
* @param int $b
* @return int
*/
function foo(?int $a = null, int $b): int
{
return $a + $b;
}
var_dump(array_reduce([2, 4, 5], 'foo')); // int(11)
var_dump(array_reduce([2, 4, 5], 'foo', 10)); // int(21)
var_dump(array_reduce([], 'foo', 10)); // int(10)
array_replace_recursive
<?php
var_dump(array_replace_recursive([2, 4, 5], [0, 1, 2])); // array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2) }
var_dump(array_replace_recursive(['foo' => 'cat', 'bar' => 'dog'], ['foo' => 'bird'])); // array(2) { ["foo"]=> string(4) "bird" ["bar"]=> string(3) "dog" }
var_dump(array_replace_recursive(['foo' => 'cat', 'bar' => 'dog'], [0, 1, 2])); // array(5) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" [0]=> int(0) [1]=> int(1) [2]=> int(2) }
var_dump(array_replace_recursive(['foo' => ['cat'], 'bar' => ['dog', 'bird']], ['foo' => ['horse'], 'bar' => ['dog']])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> array(2) { [0]=> string(3) "dog" [1]=> string(4) "bird" } }
var_dump(array_replace_recursive(['foo' => 'cat', 'bar' => ['dog', 'bird']], ['foo' => ['horse'], 'bar' => 'dog'])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> string(3) "dog" }
var_dump(array_replace_recursive(['foo' => ['cat'], 'bar' => ['dog', 'bird']], ['foo' => 'horse', 'bar' => ['dog']], ['foo' => ['horse'], 'bar' => ['dog']])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> array(2) { [0]=> string(3) "dog" [1]=> string(4) "bird" } }
array_replace
<?php
var_dump(array_replace([2, 4, 5], [0, 1, 2])); // array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2) }
var_dump(array_replace(['foo' => 'cat', 'bar' => 'dog'], ['foo' => 'bird'])); // array(2) { ["foo"]=> string(4) "bird" ["bar"]=> string(3) "dog" }
var_dump(array_replace(['foo' => 'cat', 'bar' => 'dog'], [0, 1, 2])); // array(5) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" [0]=> int(0) [1]=> int(1) [2]=> int(2) }
var_dump(array_replace(['foo' => ['cat'], 'bar' => ['dog', 'bird']], ['foo' => ['horse'], 'bar' => ['dog']])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> array(1) { [0]=> string(3) "dog" } }
var_dump(array_replace(['foo' => 'cat', 'bar' => ['dog', 'bird']], ['foo' => ['horse'], 'bar' => 'dog'])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> string(3) "dog" }
var_dump(array_replace(['foo' => ['cat'], 'bar' => ['dog', 'bird']], ['foo' => 'horse', 'bar' => ['dog']], ['foo' => ['horse'], 'bar' => ['dog']])); // array(2) { ["foo"]=> array(1) { [0]=> string(5) "horse" } ["bar"]=> array(1) { [0]=> string(3) "dog" } }
array_reverse
<?php
var_dump(array_reverse([2, 4, 5])); // array(3) { [0]=> int(5) [1]=> int(4) [2]=> int(2) }
var_dump(array_reverse([2, 4, 5], true)); // array(3) { [2]=> int(5) [1]=> int(4) [0]=> int(2) }
var_dump(array_reverse(['foo' => 'cat', 'bar' => 'dog'])); // array(2) { ["bar"]=> string(3) "dog" ["foo"]=> string(3) "cat" }
array_search
<?php
var_dump(array_search(0, [2, 4, 5])); // bool(false)
var_dump(array_search(5, [2, 4, 5])); // int(2)
var_dump(array_search('cat', ['foo' => 'cat', 'bar' => 'dog'])); // string(3) "foo"
var_dump(array_search('CAT', ['foo' => 'cat', 'bar' => 'dog'])); // bool(false)
var_dump(array_search('5', [2, 4, 5])); // int(2)
var_dump(array_search('5', [2, 4, 5], true)); // bool(false)
var_dump(array_search(5, [2, 4, 5, 5, 5, 5])); // int(2)
array_shift
<?php
$foo = [];
var_dump(array_shift($foo)); // NULL
var_dump($foo); // array(0) { }
$foo = [2, 4, 5];
var_dump(array_shift($foo)); // int(2)
var_dump($foo); // array(2) { [0]=> int(4) [1]=> int(5) }
$foo = ['foo' => 'cat', 'bar' => 'dog'];
var_dump(array_shift($foo)); // string(3) "cat"
var_dump($foo); // array(1) { ["bar"]=> string(3) "dog" }
array_slice
<?php
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], 2)); // array(3) { [0]=> string(1) "c" [1]=> string(1) "d" [2]=> string(1) "e" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], 2, 0)); // array(0) { }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], 2, 1)); // array(1) { [0]=> string(1) "c" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], 2, -1)); // array(2) { [0]=> string(1) "c" [1]=> string(1) "d" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], -2)); // array(2) { [0]=> string(1) "d" [1]=> string(1) "e" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], -2, 1)); // array(1) { [0]=> string(1) "d" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], -2, -1)); // array(1) { [0]=> string(1) "d" }
var_dump(array_slice(['a', 'b', 'c', 'd', 'e'], -2, -1, true)); // array(1) { [3]=> string(1) "d" }
array_splice
<?php
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, 2)); // array(3) { [0]=> string(1) "c" [1]=> string(1) "d" [2]=> string(1) "e" }
var_dump($foo); // array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, 2, 0)); // array(0) { }
var_dump($foo); // array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, 2, 1)); // array(1) { [0]=> string(1) "c" }
var_dump($foo); // array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "d" [3]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, 2, -1)); // array(2) { [0]=> string(1) "c" [1]=> string(1) "d" }
var_dump($foo); // array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2)); // array(2) { [0]=> string(1) "d" [1]=> string(1) "e" }
var_dump($foo); // array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2, 1)); // array(1) { [0]=> string(1) "d" }
var_dump($foo); // array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2, -1)); // array(1) { [0]=> string(1) "d" }
var_dump($foo); // array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2, -1, 'x')); // array(1) { [0]=> string(1) "d" }
var_dump($foo); // array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "x" [4]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2, -1, ['x'])); // array(1) { [0]=> string(1) "d" }
var_dump($foo); // array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "x" [4]=> string(1) "e" }
$foo = ['a', 'b', 'c', 'd', 'e'];
var_dump(array_splice($foo, -2, -1, ['x', 'y', 'z'])); // array(1) { [0]=> string(1) "d" }
var_dump($foo); // array(7) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "x" [4]=> string(1) "y" [5]=> string(1) "z" [6]=> string(1) "e" }
array_sum
<?php
var_dump(array_sum([])); // int(0)
var_dump(array_sum([2, 4, 5])); // int(11)
var_dump(array_sum([1.2, 2.3, 3.4])); // float(6.9)
array_udiff_assoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_udiff_assoc([2, 4, 5], [2, 4, 5], 'foo')); // array(0) { }
var_dump(array_udiff_assoc([2, 4, 5], [2], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff_assoc([2, 4, 5], ['2', '04', '05'], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff_assoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_udiff_assoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_udiff_uassoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function bar(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_udiff_uassoc([2, 4, 5], [2, 4, 5], 'foo', 'bar')); // array(0) { }
var_dump(array_udiff_uassoc([2, 4, 5], [2], 'foo', 'bar')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff_uassoc([2, 4, 5], ['2', '04', '05'], 'foo', 'bar')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff_uassoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo', 'bar')); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_udiff_uassoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo', 'bar')); // array(0) { }
array_udiff
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_udiff([2, 4, 5], [2, 4, 5], 'foo')); // array(0) { }
var_dump(array_udiff([2, 4, 5], ['2'], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff([2, 4, 5], ['2', '04', '05'], 'foo')); // array(2) { [1]=> int(4) [2]=> int(5) }
var_dump(array_udiff(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(1) { ["foo"]=> string(3) "cat" }
var_dump(array_udiff(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_uintersect_assoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_uintersect_assoc([2, 4, 5], [2, 4, 5], 'foo')); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_uintersect_assoc([2, 4, 5], [2], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect_assoc([2, 4, 5], ['2', '04', '05'], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect_assoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(0) { }
var_dump(array_uintersect_assoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_uintersect_uassoc
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function bar(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_uintersect_uassoc([2, 4, 5], [2, 4, 5], 'foo', 'bar')); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_uintersect_uassoc([2, 4, 5], [2], 'foo', 'bar')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect_uassoc([2, 4, 5], ['2', '04', '05'], 'foo', 'bar')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect_uassoc(['foo' => 'cat'], ['bar' => 'dog'], 'foo', 'bar')); // array(0) { }
var_dump(array_uintersect_uassoc(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo', 'bar')); // array(0) { }
array_uintersect
<?php
/**
* Return the result of the comparison.
*
* @param string $a
* @param string $b
* @return int
*/
function foo(string $a, string $b): int
{
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
var_dump(array_uintersect([2, 4, 5], [2, 4, 5], 'foo')); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_uintersect([2, 4, 5], [2], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect([2, 4, 5], ['2', '04', '05'], 'foo')); // array(1) { [0]=> int(2) }
var_dump(array_uintersect(['foo' => 'cat'], ['bar' => 'dog'], 'foo')); // array(0) { }
var_dump(array_uintersect(['foo' => 'cat', 'bar' => 'dog'], ['bar' => 'dog', 'baz' => 'bird'], ['foo' => 'cat', 'baz' => 'bird'], 'foo')); // array(0) { }
array_unique
<?php
var_dump(array_unique([2, 4, 5, 2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_unique([2, 4, 5, '2', '4', 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_unique(['foo' => '2cat', 'bar' => '2dog', 'baz' => '2bird', 'qux' => '2cat'], SORT_REGULAR)); // array(3) { ["foo"]=> string(4) "2cat" ["bar"]=> string(4) "2dog" ["baz"]=> string(5) "2bird" }
var_dump(array_unique(['foo' => '2cat', 'bar' => '2dog', 'baz' => '2bird', 'qux' => '2cat'], SORT_NUMERIC)); // array(1) { ["foo"]=> string(4) "2cat" }
var_dump(array_unique([2, 4, 5, '02', '04', '05'], SORT_STRING)); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> string(2) "02" [4]=> string(2) "04" [5]=> string(2) "05" }
var_dump(array_unique([2, 4, 5, '02', '04', '05'], SORT_LOCALE_STRING)); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> string(2) "02" [4]=> string(2) "04" [5]=> string(2) "05" }
array_unshift
<?php
$foo = [];
var_dump(array_unshift($foo)); // int(0)
var_dump($foo); // array(0) { }
$foo = [2, 4, 5];
var_dump(array_unshift($foo, 2)); // int(4)
var_dump($foo); // array(4) { [0]=> int(2) [1]=> int(2) [2]=> int(4) [3]=> int(5) }
$foo = [2, 4, 5];
var_dump(array_unshift($foo, 2, 4, 5)); // int(6)
var_dump($foo); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
$foo = [2, 4, 5];
var_dump(array_unshift($foo, ['foo' => 'cat', 'bar' => 'dog'])); // int(4)
var_dump($foo); // array(4) { [0]=> array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" } [1]=> int(2) [2]=> int(4) [3]=> int(5) }
array_values
<?php
var_dump(array_values([2, 4, 5])); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array_values(['foo' => 'cat', 'bar' => 'dog'])); // array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" }
array_walk_recursive
<?php
/**
* Calculate the cube of an integer.
*
* @param int &$value
* @param int $key
* @return void
*/
function foo(int &$value, int $key)
{
$value = $value ** 3;
}
/**
* Calculate the sum of two integers.
*
* @param int &$value
* @param int $key
* @param int $data
* @return void
*/
function bar(int &$value, int $key, int $data)
{
$value += $data;
}
$foo = [2, 4, 5, [2, 4, 5]];
var_dump(array_walk_recursive($foo, 'foo')); // bool(true)
var_dump($foo); // array(4) { [0]=> int(8) [1]=> int(64) [2]=> int(125) [3]=> array(3) { [0]=> int(8) [1]=> int(64) [2]=> int(125) } }
$foo = [2, 4, 5, [2, 4, 5]];
var_dump(array_walk_recursive($foo, 'bar', 1)); // bool(true)
var_dump($foo); // array(4) { [0]=> int(3) [1]=> int(5) [2]=> int(6) [3]=> array(3) { [0]=> int(3) [1]=> int(5) [2]=> int(6) } }
array_walk
<?php
/**
* Calculate the cube of an integer.
*
* @param int &$value
* @param int $key
* @return void
*/
function foo(int &$value, int $key)
{
$value = $value ** 3;
}
/**
* Calculate the sum of two integers.
*
* @param int &$value
* @param int $key
* @param int $data
* @return void
*/
function bar(int &$value, int $key, int $data)
{
$value += $data;
}
$foo = [2, 4, 5];
var_dump(array_walk($foo, 'foo')); // bool(true)
var_dump($foo); // array(3) { [0]=> int(8) [1]=> int(64) [2]=> int(125) }
$foo = [2, 4, 5];
var_dump(array_walk($foo, 'bar', 1)); // bool(true)
var_dump($foo); // array(3) { [0]=> int(3) [1]=> int(5) [2]=> int(6) }
array
<?php
var_dump(array(2, 4, 5)); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
var_dump(array('foo' => 'cat', 'bar' => 'dog')); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
var_dump(array('foo' => 'cat', 2, 4, 5)); // array(4) { ["foo"]=> string(3) "cat" [0]=> int(2) [1]=> int(4) [2]=> int(5) }
arsort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(arsort($foo)); // bool(true)
var_dump($foo); // array(6) { [2]=> int(5) [1]=> int(4) [0]=> int(2) [5]=> int(2) [4]=> int(1) [3]=> int(0) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(arsort($foo)); // bool(true)
var_dump($foo); // array(3) { ["bar"]=> string(3) "dog" ["foo"]=> string(3) "cat" ["baz"]=> string(4) "bird" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(arsort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [2]=> string(1) "5" [1]=> int(4) [0]=> string(1) "2" [5]=> int(2) [4]=> string(1) "1" [3]=> int(0) }
$foo = ['foo' => '2cat', 'bar' => '1dog', 'baz' => '0bird'];
var_dump(arsort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { ["foo"]=> string(4) "2cat" ["bar"]=> string(4) "1dog" ["baz"]=> string(5) "0bird" }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(arsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(6) { [2]=> int(5) [1]=> int(4) [5]=> int(22) [0]=> int(20) [4]=> int(1) [3]=> int(0) }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(arsort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(6) { [2]=> int(5) [1]=> int(4) [5]=> int(22) [0]=> int(20) [4]=> int(1) [3]=> int(0) }
$foo = ['foo' => 'cat1', 'bar' => 'cat12', 'baz' => 'cat10', 'qux' => 'cat2'];
var_dump(arsort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { ["bar"]=> string(5) "cat12" ["baz"]=> string(5) "cat10" ["qux"]=> string(4) "cat2" ["foo"]=> string(4) "cat1" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(arsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["qux"]=> string(5) "cat20" ["bar"]=> string(4) "cat2" ["baz"]=> string(4) "Cat3" ["foo"]=> string(4) "Cat1" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(arsort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["baz"]=> string(4) "Cat3" ["qux"]=> string(5) "cat20" ["bar"]=> string(4) "cat2" ["foo"]=> string(4) "Cat1" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(arsort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["qux"]=> string(5) "cat20" ["baz"]=> string(4) "Cat3" ["bar"]=> string(4) "cat2" ["foo"]=> string(4) "Cat1" }
asort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(asort($foo)); // bool(true)
var_dump($foo); // array(6) { [3]=> int(0) [4]=> int(1) [0]=> int(2) [5]=> int(2) [1]=> int(4) [2]=> int(5) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(asort($foo)); // bool(true)
var_dump($foo); // array(3) { ["baz"]=> string(4) "bird" ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(asort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [3]=> int(0) [4]=> string(1) "1" [0]=> string(1) "2" [5]=> int(2) [1]=> int(4) [2]=> string(1) "5" }
$foo = ['foo' => '2cat', 'bar' => '1dog', 'baz' => '0bird'];
var_dump(asort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { ["baz"]=> string(5) "0bird" ["bar"]=> string(4) "1dog" ["foo"]=> string(4) "2cat" }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(asort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(6) { [3]=> int(0) [4]=> int(1) [0]=> int(20) [5]=> int(22) [1]=> int(4) [2]=> int(5) }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(asort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(6) { [3]=> int(0) [4]=> int(1) [0]=> int(20) [5]=> int(22) [1]=> int(4) [2]=> int(5) }
$foo = ['foo' => 'cat1', 'bar' => 'cat12', 'baz' => 'cat10', 'qux' => 'cat2'];
var_dump(asort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "cat1" ["qux"]=> string(4) "cat2" ["baz"]=> string(5) "cat10" ["bar"]=> string(5) "cat12" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(asort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "Cat1" ["baz"]=> string(4) "Cat3" ["bar"]=> string(4) "cat2" ["qux"]=> string(5) "cat20" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(asort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "Cat1" ["bar"]=> string(4) "cat2" ["qux"]=> string(5) "cat20" ["baz"]=> string(4) "Cat3" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(asort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "Cat1" ["bar"]=> string(4) "cat2" ["baz"]=> string(4) "Cat3" ["qux"]=> string(5) "cat20" }
compact
<?php
$foo = 'cat';
$bar = 'dog';
var_dump(compact('foo', 'bar')); // array(2) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
$foo = 'cat';
$bar = 'dog';
$baz = 'baz';
$qux = ['cat', 'dog', 'baz', 'qux'];
var_dump(compact('foo', 'bar', 'baz', 'qux')); // array(4) { ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" ["baz"]=> string(3) "baz" ["qux"]=> array(4) { [0]=> string(3) "cat" [1]=> string(3) "dog" [2]=> string(3) "baz" [3]=> string(3) "qux" } }
count
<?php
var_dump(count([2, 4, 5])); // int(3)
var_dump(count(['foo' => 'cat', 'bar' => 'dog'])); // int(2)
var_dump(count([[2, 4, 5], ['foo' => 'cat', 'bar' => 'dog']])); // int(2)
var_dump(count([[2, 4, 5], ['foo' => 'cat', 'bar' => 'dog']], COUNT_RECURSIVE)); // int(7)
current
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(current($foo)); // string(3) "cat"
var_dump(next($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
var_dump(next($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
end
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'qux' => 'bird'];
var_dump(current($foo)); // string(3) "cat"
var_dump(end($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
var_dump(prev($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
var_dump(end($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
extract
<?php
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // int(3)
var_dump($foo); // string(3) "cat"
var_dump($bar); // string(3) "dog"
var_dump($baz); // string(4) "bird"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], EXTR_OVERWRITE)); // int(3)
var_dump($foo); // string(3) "cat"
var_dump($bar); // string(3) "dog"
var_dump($baz); // string(4) "bird"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'], EXTR_SKIP)); // int(0)
var_dump($foo); // string(3) "foo"
var_dump($bar); // string(3) "bar"
var_dump($baz); // string(3) "baz"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird', 'qux' => 'horse'], EXTR_PREFIX_SAME, 'prefix')); // int(4)
var_dump($prefix_foo); // string(3) "cat"
var_dump($prefix_bar); // string(3) "dog"
var_dump($prefix_baz); // string(4) "bird"
var_dump($qux); // string(5) "horse"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird', 'qux' => 'horse'], EXTR_PREFIX_ALL, 'prefix')); // int(4)
var_dump($prefix_foo); // string(3) "cat"
var_dump($prefix_bar); // string(3) "dog"
var_dump($prefix_baz); // string(4) "bird"
var_dump($prefix_qux); // string(5) "horse"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract([0 => 'cat', 1 => 'dog', 'baz' => 'bird'], EXTR_PREFIX_INVALID, 'prefix')); // int(3)
var_dump($prefix_0); // string(3) "cat"
var_dump($prefix_1); // string(3) "dog"
var_dump($baz); // string(4) "bird"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird', 'test' => 'horse'], EXTR_IF_EXISTS)); // int(3)
var_dump($foo); // string(3) "cat"
var_dump($bar); // string(3) "dog"
var_dump($baz); // string(4) "bird"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
var_dump(extract(['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird', 'test' => 'horse'], EXTR_PREFIX_IF_EXISTS, 'prefix')); // int(3)
var_dump($prefix_foo); // string(3) "cat"
var_dump($prefix_bar); // string(3) "dog"
var_dump($prefix_baz); // string(4) "bird"
var_dump($test); // string(5) "horse"
$foo = 'foo';
$bar = 'bar';
$baz = 'baz';
$array = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(extract($array, EXTR_PREFIX_ALL | EXTR_REFS, 'prefix')); // int(3)
var_dump($prefix_foo); // string(3) "cat"
var_dump($prefix_bar); // string(3) "dog"
var_dump($prefix_baz); // string(4) "bird"
list($prefix_foo, $prefix_bar, $prefix_baz) = [1, 11, 111];
var_dump($array); // array(3) { ["foo"]=> &int(1) ["bar"]=> &int(11) ["baz"]=> &int(111) }
in_array
<?php
var_dump(in_array(5, [2, 4, 5])); // bool(true)
var_dump(in_array(5, [2, 4, [5]])); // bool(false)
var_dump(in_array('cat', ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // bool(true)
var_dump(in_array('CAT', ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // bool(false)
var_dump(in_array('5', [2, 4, 5])); // bool(true)
var_dump(in_array('5', [2, 4, 5], true)); // bool(false)
key_exists
<?php
var_dump(key_exists(0, [2, 4, 5])); // bool(true)
var_dump(key_exists('foo', [2, 4, 5])); // bool(false)
var_dump(key_exists('foo', ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'])); // bool(true)
key
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(key($foo)); // string(3) "foo"
var_dump(next($foo)); // string(3) "dog"
var_dump(key($foo)); // string(3) "bar"
var_dump(next($foo)); // string(4) "bird"
var_dump(key($foo)); // string(3) "baz"
krsort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(krsort($foo)); // bool(true)
var_dump($foo); // array(6) { [5]=> int(2) [4]=> int(1) [3]=> int(0) [2]=> int(5) [1]=> int(4) [0]=> int(2) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(krsort($foo)); // bool(true)
var_dump($foo); // array(3) { ["foo"]=> string(3) "cat" ["baz"]=> string(4) "bird" ["bar"]=> string(3) "dog" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(krsort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [5]=> int(2) [4]=> string(1) "1" [3]=> int(0) [2]=> string(1) "5" [1]=> int(4) [0]=> string(1) "2" }
$foo = ['2cat' => 'foo', '1dog' => 'bar', '0bird' => 'baz'];
var_dump(krsort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { ["2cat"]=> string(3) "foo" ["1dog"]=> string(3) "bar" ["0bird"]=> string(3) "baz" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(krsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["cat2"]=> string(3) "qux" ["cat12"]=> string(3) "bar" ["cat10"]=> string(3) "baz" ["cat1"]=> string(3) "foo" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(krsort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(4) { ["cat2"]=> string(3) "qux" ["cat12"]=> string(3) "bar" ["cat10"]=> string(3) "baz" ["cat1"]=> string(3) "foo" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(krsort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { ["cat12"]=> string(3) "bar" ["cat10"]=> string(3) "baz" ["cat2"]=> string(3) "qux" ["cat1"]=> string(3) "foo" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(krsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["cat20"]=> string(3) "qux" ["cat2"]=> string(3) "bar" ["Cat3"]=> string(3) "baz" ["Cat1"]=> string(3) "foo" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(krsort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["Cat3"]=> string(3) "baz" ["cat20"]=> string(3) "qux" ["cat2"]=> string(3) "bar" ["Cat1"]=> string(3) "foo" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(krsort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["cat20"]=> string(3) "qux" ["Cat3"]=> string(3) "baz" ["cat2"]=> string(3) "bar" ["Cat1"]=> string(3) "foo" }
ksort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(ksort($foo)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(0) [4]=> int(1) [5]=> int(2) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(ksort($foo)); // bool(true)
var_dump($foo); // array(3) { ["bar"]=> string(3) "dog" ["baz"]=> string(4) "bird" ["foo"]=> string(3) "cat" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(ksort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [0]=> string(1) "2" [1]=> int(4) [2]=> string(1) "5" [3]=> int(0) [4]=> string(1) "1" [5]=> int(2) }
$foo = ['2cat' => 'foo', '1dog' => 'bar', '0bird' => 'baz'];
var_dump(ksort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { ["0bird"]=> string(3) "baz" ["1dog"]=> string(3) "bar" ["2cat"]=> string(3) "foo" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(ksort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["cat1"]=> string(3) "foo" ["cat10"]=> string(3) "baz" ["cat12"]=> string(3) "bar" ["cat2"]=> string(3) "qux" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(ksort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(4) { ["cat1"]=> string(3) "foo" ["cat10"]=> string(3) "baz" ["cat12"]=> string(3) "bar" ["cat2"]=> string(3) "qux" }
$foo = ['cat1' => 'foo', 'cat12' => 'bar', 'cat10' => 'baz', 'cat2' => 'qux'];
var_dump(ksort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { ["cat1"]=> string(3) "foo" ["cat2"]=> string(3) "qux" ["cat10"]=> string(3) "baz" ["cat12"]=> string(3) "bar" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(ksort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { ["Cat1"]=> string(3) "foo" ["Cat3"]=> string(3) "baz" ["cat2"]=> string(3) "bar" ["cat20"]=> string(3) "qux" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(ksort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["Cat1"]=> string(3) "foo" ["cat2"]=> string(3) "bar" ["cat20"]=> string(3) "qux" ["Cat3"]=> string(3) "baz" }
$foo = ['Cat1' => 'foo', 'cat2' => 'bar', 'Cat3' => 'baz', 'cat20' => 'qux'];
var_dump(ksort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { ["Cat1"]=> string(3) "foo" ["cat2"]=> string(3) "bar" ["Cat3"]=> string(3) "baz" ["cat20"]=> string(3) "qux" }
list
<?php
list($foo, $bar, $baz) = [2, 4, 5];
var_dump($foo); // int(2)
var_dump($bar); // int(4)
var_dump($baz); // int(5)
list($foo, , $baz) = [2, 4, 5];
var_dump($foo); // int(2)
var_dump($baz); // int(5)
list(, , $baz) = [2, 4, 5];
var_dump($baz); // int(5)
list($foo, list($bar, $baz)) = [2, [4, 5]];
var_dump($foo); // int(2)
var_dump($bar); // int(4)
var_dump($baz); // int(5)
list('baz' => $baz, 'foo' => $foo, 'bar' => $bar) = ['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz'];
var_dump($foo); // string(3) "foo"
var_dump($bar); // string(3) "bar"
var_dump($baz); // string(3) "baz"
list($qux[0], $qux[1], $qux[2]) = [2, 4, 5];
var_dump($qux); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
natcasesort
<?php
$foo = [2, 4, 5];
var_dump(natcasesort($foo)); // bool(true)
var_dump($foo); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(natcasesort($foo)); // bool(true)
var_dump($foo); // array(3) { ["baz"]=> string(4) "bird" ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(natcasesort($foo)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "Cat1" ["bar"]=> string(4) "cat2" ["baz"]=> string(4) "Cat3" ["qux"]=> string(5) "cat20" }
$foo = [-5, 3, -2, 0, -1000, 9, 1];
var_dump(natcasesort($foo)); // bool(true)
var_dump($foo); // array(7) { [2]=> int(-2) [0]=> int(-5) [4]=> int(-1000) [3]=> int(0) [6]=> int(1) [1]=> int(3) [5]=> int(9) }
$foo = ['09', '8', '10', '009', '011', '0'];
var_dump(natcasesort($foo)); // bool(true)
var_dump($foo); // array(6) { [5]=> string(1) "0" [1]=> string(1) "8" [0]=> string(2) "09" [3]=> string(3) "009" [2]=> string(2) "10" [4]=> string(3) "011" }
natsort
<?php
$foo = [2, 4, 5];
var_dump(natsort($foo)); // bool(true)
var_dump($foo); // array(3) { [0]=> int(2) [1]=> int(4) [2]=> int(5) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(natsort($foo)); // bool(true)
var_dump($foo); // array(3) { ["baz"]=> string(4) "bird" ["foo"]=> string(3) "cat" ["bar"]=> string(3) "dog" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(natsort($foo)); // bool(true)
var_dump($foo); // array(4) { ["foo"]=> string(4) "Cat1" ["baz"]=> string(4) "Cat3" ["bar"]=> string(4) "cat2" ["qux"]=> string(5) "cat20" }
$foo = [-5, 3, -2, 0, -1000, 9, 1];
var_dump(natsort($foo)); // bool(true)
var_dump($foo); // array(7) { [2]=> int(-2) [0]=> int(-5) [4]=> int(-1000) [3]=> int(0) [6]=> int(1) [1]=> int(3) [5]=> int(9) }
$foo = ['09', '8', '10', '009', '011', '0'];
var_dump(natsort($foo)); // bool(true)
var_dump($foo); // array(6) { [5]=> string(1) "0" [1]=> string(1) "8" [0]=> string(2) "09" [3]=> string(3) "009" [2]=> string(2) "10" [4]=> string(3) "011" }
next
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(current($foo)); // string(3) "cat"
var_dump(next($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
var_dump(next($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
pos
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(pos($foo)); // string(3) "cat"
var_dump(next($foo)); // string(3) "dog"
var_dump(pos($foo)); // string(3) "dog"
var_dump(next($foo)); // string(4) "bird"
var_dump(pos($foo)); // string(4) "bird"
prev
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(current($foo)); // string(3) "cat"
var_dump(next($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
var_dump(next($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
var_dump(prev($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
range
<?php
var_dump(range(0, 5)); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) [5]=> int(5) }
var_dump(range(0, 50, 10)); // array(6) { [0]=> int(0) [1]=> int(10) [2]=> int(20) [3]=> int(30) [4]=> int(40) [5]=> int(50) }
var_dump(range(5, 0, -2)); // array(3) { [0]=> int(5) [1]=> int(3) [2]=> int(1) }
var_dump(range('a', 'd')); // array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" }
var_dump(range('a', 'd', 2)); // array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }
var_dump(range('d', 'a', 2)); // array(2) { [0]=> string(1) "d" [1]=> string(1) "b" }
reset
<?php
$foo = ['foo' => 'cat', 'bar' => 'dog', 'qux' => 'bird'];
var_dump(current($foo)); // string(3) "cat"
var_dump(next($foo)); // string(3) "dog"
var_dump(current($foo)); // string(3) "dog"
var_dump(next($foo)); // string(4) "bird"
var_dump(current($foo)); // string(4) "bird"
var_dump(reset($foo)); // string(3) "cat"
var_dump(current($foo)); // string(3) "cat"
rsort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(rsort($foo)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(5) [1]=> int(4) [2]=> int(2) [3]=> int(2) [4]=> int(1) [5]=> int(0) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(rsort($foo)); // bool(true)
var_dump($foo); // array(3) { [0]=> string(3) "dog" [1]=> string(3) "cat" [2]=> string(4) "bird" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(rsort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [0]=> string(1) "5" [1]=> int(4) [2]=> string(1) "2" [3]=> int(2) [4]=> string(1) "1" [5]=> int(0) }
$foo = ['foo' => '2cat', 'bar' => '1dog', 'baz' => '0bird'];
var_dump(rsort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { [0]=> string(4) "2cat" [1]=> string(4) "1dog" [2]=> string(5) "0bird" }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(rsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(5) [1]=> int(4) [2]=> int(22) [3]=> int(20) [4]=> int(1) [5]=> int(0) }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(rsort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(5) [1]=> int(4) [2]=> int(22) [3]=> int(20) [4]=> int(1) [5]=> int(0) }
$foo = ['foo' => 'cat1', 'bar' => 'cat12', 'baz' => 'cat10', 'qux' => 'cat2'];
var_dump(rsort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(5) "cat12" [1]=> string(5) "cat10" [2]=> string(4) "cat2" [3]=> string(4) "cat1" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(rsort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(5) "cat20" [1]=> string(4) "cat2" [2]=> string(4) "Cat3" [3]=> string(4) "Cat1" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(rsort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(4) "Cat3" [1]=> string(5) "cat20" [2]=> string(4) "cat2" [3]=> string(4) "Cat1" }
$foo = ['a' => 'Cat1', 'b' => 'cat2', 'c' => 'Cat3', 'd' => 'cat20'];
var_dump(rsort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(5) "cat20" [1]=> string(4) "Cat3" [2]=> string(4) "cat2" [3]=> string(4) "Cat1" }
shuffle
<?php
$foo = [2, 4, 5];
var_dump(shuffle($foo)); // bool(true)
var_dump($foo);
$foo = ['foo' => 'cat', 'bar' => 'dog'];
var_dump(shuffle($foo)); // bool(true)
var_dump($foo);
$foo = [[2, 4, 5], ['foo' => 'cat', 'bar' => 'dog']];
var_dump(shuffle($foo)); // bool(true)
var_dump($foo);
sizeof
<?php
var_dump(sizeof([2, 4, 5])); // int(3)
var_dump(sizeof(['foo' => 'cat', 'bar' => 'dog'])); // int(2)
var_dump(sizeof([[2, 4, 5], ['foo' => 'cat', 'bar' => 'dog']])); // int(2)
var_dump(sizeof([[2, 4, 5], ['foo' => 'cat', 'bar' => 'dog']], COUNT_RECURSIVE)); // int(7)
sort
<?php
$foo = [2, 4, 5, 0, 1, 2];
var_dump(sort($foo)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
$foo = ['foo' => 'cat', 'bar' => 'dog', 'baz' => 'bird'];
var_dump(sort($foo)); // bool(true)
var_dump($foo); // array(3) { [0]=> string(4) "bird" [1]=> string(3) "cat" [2]=> string(3) "dog" }
$foo = ['2', 4, '5', 0, '1', 2];
var_dump(sort($foo, SORT_REGULAR)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> string(1) "1" [2]=> string(1) "2" [3]=> int(2) [4]=> int(4) [5]=> string(1) "5" }
$foo = ['foo' => '2cat', 'bar' => '1dog', 'baz' => '0bird'];
var_dump(sort($foo, SORT_NUMERIC)); // bool(true)
var_dump($foo); // array(3) { [0]=> string(5) "0bird" [1]=> string(4) "1dog" [2]=> string(4) "2cat" }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(sort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(20) [3]=> int(22) [4]=> int(4) [5]=> int(5) }
$foo = [20, 4, 5, 0, 1, 22];
var_dump(sort($foo, SORT_LOCALE_STRING)); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(20) [3]=> int(22) [4]=> int(4) [5]=> int(5) }
$foo = ['foo' => 'cat1', 'bar' => 'cat12', 'baz' => 'cat10', 'qux' => 'cat2'];
var_dump(sort($foo, SORT_NATURAL)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(4) "cat1" [1]=> string(4) "cat2" [2]=> string(5) "cat10" [3]=> string(5) "cat12" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(sort($foo, SORT_STRING)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(4) "Cat1" [1]=> string(4) "Cat3" [2]=> string(4) "cat2" [3]=> string(5) "cat20" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(sort($foo, SORT_STRING | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(4) "Cat1" [1]=> string(4) "cat2" [2]=> string(5) "cat20" [3]=> string(4) "Cat3" }
$foo = ['foo' => 'Cat1', 'bar' => 'cat2', 'baz' => 'Cat3', 'qux' => 'cat20'];
var_dump(sort($foo, SORT_NATURAL | SORT_FLAG_CASE)); // bool(true)
var_dump($foo); // array(4) { [0]=> string(4) "Cat1" [1]=> string(4) "cat2" [2]=> string(4) "Cat3" [3]=> string(5) "cat20" }
uasort
<?php
/**
* Sort in ascending order.
*
* @param int $a
* @param int $b
* @return int
*/
function foo(int $a, int $b): int
{
return ($a <=> $b);
}
/**
* Sort in descending order.
*
* @param int $a
* @param int $b
* @return int
*/
function bar(int $a, int $b): int
{
return -($a <=> $b);
}
$foo = [2, 4, 5, 0, 1, 2];
var_dump(uasort($foo, 'foo')); // bool(true)
var_dump($foo); // array(6) { [3]=> int(0) [4]=> int(1) [0]=> int(2) [5]=> int(2) [1]=> int(4) [2]=> int(5) }
$foo = [2, 4, 5, 0, 1, 2];
var_dump(uasort($foo, 'bar')); // bool(true)
var_dump($foo); // array(6) { [2]=> int(5) [1]=> int(4) [0]=> int(2) [5]=> int(2) [4]=> int(1) [3]=> int(0) }
uksort
<?php
/**
* Sort in ascending order.
*
* @param int $a
* @param int $b
* @return int
*/
function foo(int $a, int $b): int
{
return ($a <=> $b);
}
/**
* Sort in descending order.
*
* @param int $a
* @param int $b
* @return int
*/
function bar(int $a, int $b): int
{
return -($a <=> $b);
}
$foo = [2, 4, 5, 0, 1, 2];
var_dump(uksort($foo, 'foo')); // bool(true)
var_dump($foo); // array(6) { [0]=> int(2) [1]=> int(4) [2]=> int(5) [3]=> int(0) [4]=> int(1) [5]=> int(2) }
$foo = [2, 4, 5, 0, 1, 2];
var_dump(uksort($foo, 'bar')); // bool(true)
var_dump($foo); // array(6) { [5]=> int(2) [4]=> int(1) [3]=> int(0) [2]=> int(5) [1]=> int(4) [0]=> int(2) }
usort
<?php
/**
* Sort in ascending order.
*
* @param int $a
* @param int $b
* @return int
*/
function foo(int $a, int $b): int
{
return ($a <=> $b);
}
/**
* Sort by string.
*
* @param string $a
* @param string $b
* @return int
*/
function bar(string $a, string $b): int
{
return strcmp($a, $b);
}
$foo = [2, 4, 5, 0, 1, 2];
var_dump(usort($foo, 'foo')); // bool(true)
var_dump($foo); // array(6) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(2) [4]=> int(4) [5]=> int(5) }
$foo = ['cat', 'dog', 'bird'];
var_dump(usort($foo, 'bar')); // bool(true)
var_dump($foo); // array(3) { [0]=> string(4) "bird" [1]=> string(3) "cat" [2]=> string(3) "dog" }