php 一维数组最大值,一个一维数组的最大值 (数组学习思想)

一维数组中,$arr = array(1,5,23,3);

找出最大值,体现出个思想

假定 最大值就是第一个$arr[0];

然后循环...取出每一个值去比较即可

//这一行php的作用,跟上一行meta的作用一样:告诉浏览器,请用utf8显示本网页

header("Content-Type:text/html;charset=UTF-8");

//求一个一维数组的平均值:

$a = array(1, 11, 111, 1111);

$len = count($a);//长度

$sum = 0;//用于总和

$c = 0;//用于存储数组的个数

for($i = 0; $i

$sum += $a[$i];//累加思想

++$c;//计数思想

}

echo "
平均值为:" . ($sum/$c);

//求一个二维数组的平均值:

$dd = array(

array(1, 11, 111),

array(2, 22, 222, 2222),

array(3, 33, 333, 3333,33333)

);

$len = count($dd);//长度,这里是3

$sum = 0;//用于总和

$c = 0;//用于存储数组的个数

for($i = 0; $i < $len; ++$i){

$temp = $dd[$i];//这是一个一维数组!

$len2 = count($temp);//该一维数组的长度

for($k = 0; $k < $len2; ++$k){

$sum += $temp[$k];//累加

++$c;//计数

}

}

echo "
平均值为:" . ($sum/$c);

//求一个一维数组的最大值,及其对应下标:

$arr3 = array(13,  8,  5,  11,  22,  2);

$max = $arr3[0];//将第一项放入$max中,

//并试图使用该变量来存储最终的“最大值”

$pos = 0;//第一个下标,并试图使用该变量来存储最终的“最大值所在下标”

$len = count($arr3);//长度

for($i = 0; $i < $len; ++$i){

if($arr3[$i] > $max){

$max = $arr3[$i];

$pos = $i;

}

}

echo "
最大值为:" . ($max) . ",其下标为:$pos";

//求交换一个一维数组的最大值和最小值的位置:

//先看交换原理:

$a = 3;

$b = 4;

$t = $a;

$a = $b;

$b = $t;

//然后,才进行数组最大值和最小值的的交换

//其它前提是:知道最大值最小值在哪里:

$arr3 = array(13,  38,  5,  11,  22,  2);

echo "
交换之前:";  print_r($arr3);

$max = $arr3[0];//将第一项放入$max中,

//并试图使用该变量来存储最终的“最大值”

$pos = 0;//第一个下标,并试图使用该变量来存储最终的“最大值所在下标”

$min = $arr3[0];//同理!

$pos2 = 0;//同理

$len = count($arr3);//长度

for($i = 0; $i < $len; ++$i){

if($arr3[$i] > $max){

$max = $arr3[$i];

$pos = $i;

}

if($arr3[$i] < $min){

$min = $arr3[$i];

$pos2 = $i;

}

}

echo "
最大值为:" . ($max) . ",其下标为:$pos";

echo "
最小值为:" . ($min) . ",其下标为:$pos2";

//然后才开始交换:

$t = $arr3[$pos];//$arr3[$pos]就是数组的最大值的单元

$arr3[$pos] = $arr3[$pos2];//$arr3[$pos2]就是数组的最小值的单元

$arr3[$pos2] = $t;

echo "
交换之后:";  print_r($arr3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值