<?php
// 1. array_keys() 返回数组中所有的键名。 返回所有键的索引数组
$arr1 = ['username' => 'zhangsan', 'age' => '18', 'sex' => '1', 'address' => 'shanghai'];
var_dump(array_keys($arr1));
echo '<hr/>';
// 2. array_values() 返回数组中所有的值。 返回所有值的索引数组
var_dump(array_values($arr1));
echo '<hr/>';
// 3. in_array() 检查数组中是否存在指定的值。 返回布尔值
$arr2 = ['zhangsan', 'lisi', 'wangwu'];
var_dump(in_array('lisi', $arr2));
echo '<br/>';
var_dump(in_array('lisi1', $arr2));
echo '<hr/>';
// 4. array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。否则返回false
var_dump(array_search('lisi', $arr2));
echo '<br/>';
var_dump(array_search('lisi1', $arr2));
echo '<hr/>';
// 5. array_key_exists() 检查指定的键名是否存在于数组中。否则返回false
var_dump(array_key_exists('2', $arr2));
echo '<br/>';
var_dump(array_key_exists('20', $arr2));
echo '<hr/>';
// 6. count() / sizeof() 返回数组中元素的数目。
echo count($arr2);
echo '<hr/>';
// 7. array_count_values() 用于统计数组中所有值出现的次数。
$arr3 = ['username' => 'zhangsan', 'username' => 'zhangsan', 'age' => '18', 'sex' => '2',];
var_dump(array_count_values($arr3));
echo '<hr/>';
// 8. array_push() 将一个或多个元素插入数组的末尾(入栈)。返回新数组的元素个数。
$arr4 = ['zhangsan'];
array_push($arr4, 'lisi');
var_dump($arr4);
echo '<hr/>';
// 9. array_pop() 删除数组中的最后一个元素(出栈)。返回数组的最后一个值。
$arr5 = ['zhangsan', 'lisi'];
array_pop($arr5);
var_dump($arr5);
echo '<hr/>';
// 10. array_shift() 删除数组中的第一个元素,并返回被删除元素的值。
$arr6 = ['zhangsan', 'lisi'];
array_shift($arr6);
var_dump($arr6);
echo '<hr/>';
// 11. array_unshift() 在数组开头插入一个或多个元素。返回新数组中元素的个数。
$arr7 = ['zhangsan', 'lisi'];
array_unshift($arr7, 'wangwu');
var_dump($arr7);
echo '<hr/>';
// 12. array_slice() 返回数组中的选定部分。
$arr8 = array("zhangsan", "lisi", "wangwu", "zhaoliu", "xiaohong");
var_dump(array_slice($arr8, 2));
echo '<hr/>';
// 13. array_splice() 把数组中的指定元素去掉并用其它值取代。这个方法很强大,可以实现数组的增删查改
$arr9 = array("zhangsan", "lisi", "wangwu", "zhaoliu", "xiaohong");
array_splice($arr9, 2, 0, 'xiaolan');
var_dump($arr9);
echo '<hr/>';
// 14. array_sum() 返回数组中所有值的和。
$numArr = [1, 2, 3, 4, 5, 6];
echo array_sum($numArr);
echo '<hr/>';
// 15. array_unique() 删除数组中重复的值。
$arr10 = ['a', 'a', 'a', 'b', 'c'];
var_dump(array_unique($arr10));
echo '<hr/>';
// 16. array_chunk() 把一个数组分割为新的数组块。
$arr11 = ['0' => '上海', '1' => '北京', '2' => '天津', '3' => '重庆'];
var_dump(array_chunk($arr11, 2));
echo '<hr/>';
// 17. implode() 将数组转换为字符串
var_dump(implode($arr10));
echo '<hr/>';
// 18. sort() 函数对数值数组进行升序排序。
// 使用 rsort() 函数对数值数组进行降序排序。
$arr12 = array("zhangsan", "lisi", "wangwu", "zhaoliu", "xiaohong");
sort($arr12);
var_dump($arr12);
echo '<hr/>';
// 19. 数组的遍历方式
$arr13 = array("zhangsan", "lisi", "wangwu", "zhaoliu", "xiaohong");
// (1) for
for ($i = 0; $i < count($arr13); $i++) {
echo "{$i}==>{$arr13[$i]}<br/>";
}
echo '<br/>';
// (2) foreach
foreach ($arr13 as $key => $value) {
echo "{$key}==>{$value}<br>";
}
// (3) each() 弃用
echo '<hr/>';
// 20. array_merge() 把一个或多个数组合并为一个数组。
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
var_dump(array_merge($a1,$a2));