PHP - Vòng lặp for tìm phần tử lớn nhất trong mảng

Cho mảng gồm các phần tử sau:

$array = [
    1, 23, 32, 5,43, 321, 312, 352, 2, 13 ,153, 21,32 ,1
];

Hãy viết chương trình PHP tìm số lớn nhất trong mảng đó, và in ra vị trí nó đang đứng trong mảng.

Bài giải

-------------------- ######## --------------------

Để tìm số lớn nhất thì bước đầu tiên ta sẽ tạo một biến $max lưu phần tử đầu tiên $array[0] lại và xem như nó là phần tử lớn nhất, sau đó duyệt qua từng phần tử tiếp theo rồi so sánh, nếu phần tử nào lớn hơn $max thì lập tức gán giá trị của phần tử đó cho $max. 

Theo yêu cầu của đề bài ta phải in ra vị trí phần tử lớn nhất, vì vậy ta sẽ tạo một biến tên là $vitri, và cách gán giá trị cho nó thì cũng tương tự như gán cho $max.

Để đếm tổng số phần tử thì ta dùng hàm count.

Bài giải
$array = [
    1, 23, 32, 5,43, 321, 312, 352, 2, 13 ,153, 21,32 ,1
];

$max = null;
$position = null;

for ($i = 0; $i < count($array); $i++)
{
    if ($max == null){
        $max = $array[$i];
        $position = $i;
    }
    else {
        if ($array[$i] > $max){
            $max = $array[$i];
            $position = $i;
        }
    }
}

echo "Giá trị lớn nhất là $max, nằm tại vị trí $position";

Nguồn: freetuts.net