Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:比较参数大小, 使用返回值是否大于0判断
array_chunk(需要分割的数组, 第个数组包含几个元素) : 返回数组类型
$array = ['苹果', '香蕉', '草莓'];
printf('<pre>%s</pre>', print_r(array_chunk($array, 2), true));
输出结果:
array_column(数组, 需要返回值的列)
$array = [
['id' => 1, 'name' => 'jack', 'sex' => '1'],
['id' => 2, 'name' => 'lise', 'sex' => '0'],
['id' => 3, 'name' => 'rick', 'sex' => '1'],
];
// 返回 $array 数组中的 name 列
printf('<pre>%s</pre>', print_r(array_column($array, 'name'), true));
// 返回 $array 数组中的 name 列,并用 id 作为键
printf('<pre>%s</pre>', print_r(array_column($array, 'name', 'id'), true));
输出结果:
$array1 = ['苹果', '香蕉', '草莓', '西瓜'];
$array2 = ['樱桃', '香蕉', '西瓜', '火龙果'];
$array3 = ['苹果', '香蕉', '西瓜', '草莓'];
printf('<pre>%s</pre>', print_r(array_intersect($array1, $array2), true));
输出结果
$info = ['咖啡', '棕色的', '咖啡因'];
list($drink, $color, $power) = $info;
printf('<pre>%s</pre>', print_r($info, true));
echo "{$drink}是{$color}的,{$power}使它与众不同";
运行结果:
$array = ['a' => '苹果', 'b' => '香蕉', 'c' => '草莓'];
if (array_key_exists('a', $array)) {
echo '数组中有 a 这个键';
}
// 输出结果:
// 数组中有 a 这个键
$array = ['苹果', '香蕉', '草莓'];
var_dump(array_key_first($array)); // int(0)
$array = ['苹果', '香蕉', '草莓'];
var_dump(array_key_last($array)); // int(2)
$array = ['苹果', '香蕉', '草莓', '香蕉', '西瓜', '香蕉'];
printf('<pre>%s</pre>', print_r(array_keys($array), true));
// 只返回包含 '香蕉' 的键
printf('<pre>%s</pre>', print_r(array_keys($array, '香蕉'), true));
输出结果:
$array1 = ['苹果', '香蕉', '草莓'];
$array2 = ['樱桃', '西瓜', '火龙果'];
$array = array_merge($array1, $array2);
printf('<pre>%s</pre>', print_r($array, true));
输出结果:
$array = ['a1', 'a2', 'a10', 'a11'];
natcasesort($array);
printf('<pre>%s</pre>', print_r($array, true));
输出结果:
Array
(
[0] => a1
[1] => a2
[2] => a10
[3] => a11
)
$array = ['0苹果', '1香蕉', '2草莓', '3西瓜', '4樱桃'];
$output = array_slice($array, 2); // 从第3个开始取全部
$output = array_slice($array, 0, 2); // 从第1个开始取2个
$output = array_slice($array, -1, 1); // 取最后一个
$output = array_slice($array, -1, 1, true); // 取最后一个,且键值不改变
$array = ['0苹果', '1香蕉', '2草莓', '3西瓜'];
// 去掉最后一个
$output = array_splice($array, -1);
// 只保留第一个
$output = array_splice($array, 0, 1);
// 去掉中间,只保留两头的两个元素
$output = array_splice($array, 1, -1);
function compare_func($key1, $key2)
{
if ($key1 === $key2) {
return 0;
} elseif ($key1 > $key2) {
return 1;
} else {
return -1;
}
}
$array1 = ['0苹果', '1香蕉', '2草莓', '3西瓜'];
$array2 = ['0苹果', '1樱桃', '2草莓', '3甜瓜'];
$array = array_udiff($array1, $array2, 'compare_func');
printf('<pre>%s</pre>', print_r($array, true));
输出结果:
Array
(
[1] => 1香蕉
[3] => 3西瓜
)