소스 파일명 : seq_search.php
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
<?php // (2018.7.2, 차재복, Cha Jae Bok, cjbword@gmailcom) 

# 주요 php 함수 루틴 모음

// `순차 검색(선형 검색)` 함수
function seqSearch ($arr, $find) {
	// foreach에 의한 구현
	foreach ($arr as $key => $value) {
		if ($value == $find) {
			return $key;	// 검색 성공 : 위치 반환 (0 ~ 99)
		}
	}
	/* // for 반복문에 의한 구현
	for ($i = 0 ; $i < count($arr); $i++) {
		if ($i == $find) {
			return $i;	// 검색 성공 : 위치 반환 (0 ~ 99)
		}
	}
	*/
	return -1;				// 검색 실패 : -1 반환
}

// 샘플값 생성 함수 (1 ~ 100 사이 랜덤값 100개 원소를 갖는 배열 생성)
function sample_gen () {
	for ($i = 0 ; $i < 100; $i++) {
		$arr[$i] = rand(1,100); // 1~100 범위내 랜덤값 배열
	}
	return $arr;
}

// 화면 출력 함수
function dispArr ($arr) {
	foreach ($arr as $key => $value) {
		echo $value." ";
		if ( $key % 10 == 9 ) echo "<br>";
	}
}

?>

<?php

# 화면 출력

// html 선언
	echo "<!DOCTYPE html>";
	echo "<html>";

// utf-8 선언
	echo "<meta http-equiv='content-type' content='text/html; charset=utf-8'>";

// 전달 파라미터 처리
	$find = $_POST['find'];

	if (empty($find)) {

		// 샘플값 보여주고, 임의 값 입력 후 순차검색 화면 출력
		
		// 100개 샘플 랜덤값
		dispArr(sample_gen());

		echo "<br>";
		echo "<form action='./seq_search.php'>";
			echo "순차검색용 수 (1~100) : ";
			echo "<input type='text' size='3'>";
			echo "<input type='submit'>";
		echo "</form>";

	}

?>