php 2차원 배열과 문자열 내장함수 / 전역변수와 정적변수
2022. 11. 7. 13:20ㆍphp
1.배열
<?
//배열이용 합계, 평균구하기, 배열의 원소는 0부터 시작한다.
// $score[0]=78;
// $score[1]=83;
// $score[2]=97;
// $score[3]=88;
// $score[4]=78;
$score = [75,54,34,34,54];
$sum = 0;
for($a=0; $a<=$scroe; $a++)
{
$sum = $sum + $score[$a];
}
$avg = $sum/5;
echo("과목 점수 : $score[0], $score[1], $score[2], $score[3], $score[4]<br>");
echo("합계 : $sum, 평균 : $avg <br>");
?>
1-2. 2차원 배열
$배열명[행][열];
<?
$score = array(
array(88,98,96,77,63),
array(86,77,66,86,93),
array(74,83,95,86,97)
);
for($i=0; $i<3; $i++)
{
for($j=0; $j<5; $j++){
echo "\$score[$i][$j] = ".$score[$i][$j]."<br>"; // 역슬러쉬( \ ) 를 변수앞에 입력하면 변수가 아닌 문자화 한다
}
echo"<br>";
}
for($i=0; $i<3; $i++)
{
$sum = 0;
for($j=0; $j<5; $j++){
$sum = $sum + $score[$i][$j];
}
$avg = $sum/5;
$student_num = $i + 1;
echo("$student_num 번째 학생의 점수 => 합계 : $sum, 평균 : $avg <br>");
}
?>
1-3. 3차원 배열
$배열명[몇번째 행열][행][열];
2.문자열 관련 내장 함수
<?
$tel = "010-2777-3333";
$num_tel = strlen($tel); // 문자열의 길이 계산
echo "strlen() 함수 사용 : $num_tel<br>";
$tel1 = substr($tel, 0, 3); // 앞에서 세 문자를 가져옴
$tel2 = substr($tel, 4, 4); // 네 번째 문자에서 네 개를 가져옴
$tel3 = substr($tel, 9, 4); // 아홉 번째 문자에서 네 개를 가져옴
echo "substr() 함수 사용 : $tel1 $tel2 $tel3<br>";
$phone = explode("-", $tel); // 하이픈(-)을 기준으로 문자열 분리
echo "explode() 함수 사용 : $phone[0] $phone[1] $phone[2]<br>";
?>
3.전역변수 global 변수명; , $GLOBALS["변수"]
<?
$c = 0;
function plus($a,$b){
global $c;
$c = $a + $b;
//$GLOBALS["c"]= $a + $b;
};
function plusR(){
global $c;
echo $c;
//echo $GLOBALS["c"];
};
plus(100,100);
plusR();
?>
4. 정적변수 (카운터 만들기) static 변수명;
- 지역변수 ( 함수 내에서만 생존 )
- 함수의 계산이 종료되어도 계속 생존
- 정적변수의 초기화는 초기 1회만 계산된다
<?
function counter() {
static $num = 1; // static 생략시 출력값 1 1 1 1 1 1 1 1 1 1 1
echo $num.'<br>';
$num++;
}
for($i=1; $i<11 ; $i++){
counter();
}
?>
<!-- 출력값 : 1 2 3 4 5 6 7 8 9 10 -->
5. 사용자 정의 함수
출력값 : 1 에서 100 까지의 합 : 5050
<?
// hap($a, $b) 함수는 $a에서 $b 까지의 합을 구한다.
function hap($a, $b)
{
$sum=0;
while($a <= $b)
{
$sum=$sum+$a;
$a++;
}
return $sum;
}
$from = 1;
$to = 100;
$total = hap($from, $to);
echo("$from 에서 $to 까지의 합 : $total");
?>
5-1 사용자 정의 함수
놀이공원 입장료 구하기 예시
<?
function cal_fee1($day, $age) // 일반 입장권 요금 구하기
{
if ( $day == "주간" )
{
if ($age> 12 && $age < 65)
$money = 26000;
else
$money = 19000;
}
else
{
if ($age> 12 && $age < 65)
$money = 21000;
else
$money = 16000;
}
return $money;
}
function cal_fee2($day, $age) // 자유이용권 요금 구하기
{
if ( $day == "주간" )
{
if ($age> 12 && $age < 65)
$money = 33000;
else
$money = 24000;
}
else
{
if ($age> 12 && $age < 65)
$money = 28000;
else
$money = 21000;
}
return $money;
}
function cal_fee3($age) // 2일 자유이용권 요금 구하기
{
if ($age> 12 && $age < 65)
$money = 55000;
else
$money = 40000;
return $money;
}
function cal_fee4($age) // 콤비권 요금 구하기
{
if ($age> 12 && $age < 65)
$money = 54000;
else
$money = 40000;
return $money;
}
// $category가 1=> 입장권, 2=> 자유이용권, 3=> 2일 자유이용권, 4=> 콤비권 의미
$category = 1; // 입장권 요금을 구하고자 함
$age = 13;
$day = "야간";
if( $category == 1 )
$fee = cal_fee1($day, $age);
elseif ( $category == 2 )
$fee = cal_fee2($day, $age);
elseif ( $category == 3 )
$fee = cal_fee3($age);
else
$fee = cal_fee4($age);
if( $category == 1 )
$cat = "일반 입장권";
elseif ( $category == 2 )
$cat = "자유이용권";
elseif ( $category == 3 )
$cat = "2일 자유이용권";
else
$cat = "콤비권";
echo "구분 : $cat<br>";
if ($category == 1 || $category==2)
echo "때 : $day<br>";
echo "나이 : $age 세<br>";
echo "입장료 : $fee 원";
?>
[놀이공원 요금표]
일반입장권 : 주간 (대인 26,000원) (소인 및 노인 19,000원)
야간 (대인 21,000원) (소인 및 노인 16,000원)
자유이용권 : 주간 (대인 33,000원) (소인 및 노인 24,000원)
야간 (대인 28,000원) (소인 및 노인 21,000원)
2일 자유이용권 (대인 55,000원) (소인 및 노인 40,000원)
콤비권 (대인 54,000원) (소인 및 노인 40,000원)
* 소인은 12세 이하/노인은 65세 이상
'php' 카테고리의 다른 글
| PHP API 함수로 데이터 불러오기 (0) | 2022.11.11 |
|---|---|
| php <form> 유효성 검사 , 아스키코드, get , post (0) | 2022.11.08 |
| php 기본 문법과 제어문 (0) | 2022.11.07 |