数组的基本使用
数组的输出
var_dump()
print_r()
$word= ['泥萌', '蜗萌', '塔萌'];
echo '
';
var_dump($word);
print_r($word);
echo '
';?>
数组的添加与删除
$word= ['泥萌', '蜗萌', '塔萌'];
# 添加
$word[4]= '亲萌';
echo '
';
print_r($word);
echo '
';# 删除
unset($word[2]);
echo '
';
print_r($word);
echo '
';?>
数组操作符
$name1= ["a"=> "泥萌", "b"=> "蜗萌", "c"=> "塔萌"];
$name2= ["a"=> "Sunny", "b"=> "Jerry"];
$name3= $name1+ $name2;
print_r($name3);
echo '
';
$name3= $name2+ $name1;
print_r($name3);
?>
数组的常见操作
数组遍历
数组指针
mixed current(array &$array) 获取数组中当前元素的值,如果内部指针超出数组的末端,则返回false
mixed key(array &$array) 获取当前元素的下标,即键名
mixed next(array &$array) 将数组的内部指针向前移动一位
mixed prev(array &$array) 将数组的内部指针倒回一位
mixed end(array &$array) 将数组的内部指针指向最后一个元素
mixed reset(array &$array) 重置指针,即将数组的指针指向第一个元素
# 数组的遍历
$word= ["a"=> "泥萌", "b"=> "蜗萌", "c"=> "塔萌"];
while(current($word)){
echo key($word);
echo "=>";
echo current($word);
echo "
";
next($word);
}
?>
foreach数组的遍历
无键名遍历
键值对遍历
# 数组的遍历
$word= ["Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
foreach($word as $v){
echo "{$v}
";
}
foreach($word as $k=>$v){
echo "{$k}:{$v}
";
}
?>
each()函数指针的移动
array each(array &$array);
# 数组的遍历
$word= ["a"=> "泥萌", "b"=> "蜗萌", "c"=> "塔萌"];
echo "
";
print_r(each($word));
print_r(each($word));
print_r(each($word));
echo "
";?>
list()语言结构
将索引数组中的值赋给一些变量
$name= ["泥萌", "蜗萌", "塔萌"];
list($Sunny, $Tomy, $Jerry)= $name;
echo $Sunny;
echo $Tomy;
echo $Jerry;
?>
关于each() list() while实现数组的遍历
# 数组的遍历
$word= ["Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
while(list($key, $value)= each($word)){
echo "{$key}=>{$value}
";
}
?>
数组排序
冒泡排序
function bubbleSort($arr){
$temp= 0;
$len= count($arr);
for($i=0; $i
for($j=0; $j
if($arr[$j]> $arr[$j+1]){
$temp= $arr[$j];
$arr[$j]= $arr[$j+1];
$arr[$j+1]= $temp;
}
}
}
return $arr;
}
$arr= [15, 24, 35, 29, 19, 2];
print_r(bubbleSort($arr));
?>
数组元素查找
顺序查找法
function search(&$arr, $findVal){
$flag= false;
for($i=0; $i
if($arr[$i]== $findVal){
echo '哈哈!原来你在这儿啊!';
$flag= true;
}
}
if(!$flag){
echo '哎?你在哪儿呢?';
}
}
$arr= [2, 3, 4, 5, 6, 7, 8, 9];
search($arr, 1);
?>
二分查找法
function binarySearch(&$arr, $findVal, $start, $end){
if($start> $end){
echo '哎?你在哪儿呢?';
return false;
}
$mid= round(($start+ $end)/2);
if($findVal< $arr[$mid]){
binarySearch($arr, $findVal, $start, $mid- 1);
}elseif($findVal> $arr[$mid]){
binarySearch($arr, $findVal, $mid+ 1, $end);
}else{
echo "哦!原来你在{$mid}这里啊!";
}
}
$arr= [2, 3, 4, 5, 6, 7, 8, 9];
binarySearch($arr, 6, 0, count($arr)-1);
?>
数组的常用函数
基本函数
is_array() 判断一个变量是否是数组
$word= ["Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
var_dump(is_array($word));
?>
count() 计算数组中元素的个数
$word= ["Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
var_dump(count($word));
?>
array_unique() 移除数组中的重复元素
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
print_r(array_search('塔萌', $word));
?>
键值对的相关函数
array_search() 获取数组中元素对应的键名
$word= ["Jerry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
echo array_search('塔萌', $word);
?>
array_keys() 获取数组中元素对应的键名,可以返回所有匹配的键名
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌", "Jack"=>25, "Rose"=>'25'];
print_r(array_keys($word));
echo '
';
print_r(array_keys($word, '塔萌'));
echo '
';
print_r(array_keys($word, '25', false)); // 不依赖类型
echo '
';
print_r(array_keys($word, '25', true)); // 依赖类型
?>
排序函数
sort() 对数组进行升序排列
SORT_REGULAR 默认值,将自动识别数组元素的类型进行排序
SORT_NUMERIC 用于数字元素的排序
SORT_STRING 用于字符串元素的排序
SORT_LOCALE_STRING 根据当前的locale设置来把元素当作字符串比较
$word= [25, 18, 34, 14, 78, 77, 28];
sort($word, SORT_REGULAR);
print_r($word);
?>
合并和拆分函数
array_merge() 合并一个或多个数组
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
$tiger= ["Jack"=>25, "Rose"=>'25'];
$res= array_merge($word, $tiger);
echo '
';
print_r($res);
echo '';
?>
array_chunk() 将一个数组分割成多个数组
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
# 索引下标
echo '
';
print_r(array_chunk($word, 2));
echo '
';# 关联下标
echo '
';
print_r(array_chunk($word, 2, true));
echo '
';?>
其他函数
array_rand() 从数组中随机取出一个或多个元素
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
# 随机取出一个值
echo '
';
print_r(array_rand($word));
echo '
';# 随机取出两个值
echo '
';
print_r(array_rand($word, 2));
echo '
';?>
array_reverse() 返回一个元素顺序相反的数组
$word= ["Marry"=> "塔萌", "Sunny"=> "泥萌", "Tomy"=> "蜗萌", "Jerry"=> "塔萌"];
$res= array_reverse($word);
echo '
';
print_r($res);
echo '
';?>
标签:word,echo,塔萌,数组,print,array,PHP
来源: https://www.cnblogs.com/SharkJiao/p/13972203.html