一维数组中,$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);