<html>
<body>
<?php
//스크립트 언어 : php, html, css, js , jsp, python
// : 순차적인 번역/처리
//컴파일 언어 : java. c#, c, c++
// : 전체코드를 번역 후 실행
//배열 관련 함수들
$numbers =array(10,20,30,40,50);
//함수 선언
function print_array(){
// 로컬(지역) 에서는 밖의 변수$numbers 를 접근할 수 없다
//global 은 전역변수를 로컬변수로 사용하도록 한다
global $numbers;
for($i=0; $i<count($numbers); $i++){
echo $numbers[$i] ."<br>";
}
echo "<br>";
}
//함수 호출
print_array();
//배열에 요소 추가
array_push($numbers,60);
print_array();
//맨 앞의 요소 제거
array_shift($numbers);
print_array();
//맨 뒤의 요소 제거
array_pop($numbers);
print_array();
//맨 앞에 요소 추가
array_unshift($numbers,100);
print_array();
//치환(바꾸기)
// 배열 위치 갯수 치환값
array_splice($numbers,2,1,300); // 세번째 값을 1개 지우고, 300으로 채운다
print_array();
//배열의 순환
foreach($numbers as $num){
echo $num . "<br>\n";
}
//배열의 정렬
sort($numbers); // 오름 차순 정렬
print_array();
resort($numbers); // 내림차순 정렬
print_array();
?>
</body>
</html>
<html>
<body>
<?php
//배열 Array
//Array 선언
//array()함수가 더 호환성이 좋다.
$names=array("aaa","bbb","ccc");
$persons=["hong","john","tom"];
//배열의 갯수
echo count($names). "<br>";
echo $names[0]. "<br>";
echo $names[1]. "<br>";
echo $names[2]. "<br>";
for($i=0; $i<count($names); $i++){
echo $names[$i]. "<br>";
}
//2차원 배열
$array2D =array(
array(10,20,30),
array(40,50,60)
);
echo $array2D[0][0]. "<br>";
echo $array2D[0][1]. "<br>";
echo $array2D[0][2]. "<br>";
echo $array2D[1][0]. "<br>";
echo $array2D[1][1]. "<br>";
echo $array2D[1][2]. "<br>";
//이중 포문으로 array2D를 다 출력하시오
for($i=0; $i<2; $i++){
for($j=0; $j<3; $j++){
echo $array2D[$i][$j]. "<br>";
}
}
?>
</body>
</html>
<html>
<body>
<?php
//반복문 for 문 while 문 do-while문
//for (초기화; 조건문; 증감문)
for($i=1; $i<=10; $i++){
echo $i . "<br>";
}
//초기화
//while(조건문){
// 수행문
// 증감문
//}
$i=1;
while( $i <=10){
echo $i . "<br>";
$i++;
}
//초기화
//do {
// 수행문
// 증감문
//} while(조건문)
// 적어도 한번은 수행됨
$i=1;
do{
echo $i . "<br>";
$i++;
}while($i<=10);
// 이중 포문
for ($i=2; $i<=9; $i++){
for($j=1 ;$j<=9; $j++){
echo ($i * $j) . "<br>";
}
}
// 2부터 9까지 랜덤 수를 발생시키고
// 그 수에 맞는 구구단을 출력
//
$randomNum= mt_rand(2,9); // 1~100까지 발생
// echo $randomNum . "<br/>";
echo "<table>";
echo "<tr>". $randomNum . "</tr>";
for($j=1 ;$j<=9; $j++){
echo "<td>".$randomNum ."*".$j ."=" . ($randomNum * $j) . "</td>" ."<br>";
}
echo "</table>";
?>
</body>
</html>
<html>
<body>
<?php
// 조건문
// 자바와 거의 유사함
$num=10;
//if 문
if ($num==10){
echo "10과 같음". "<br />";
}
//if else 문
if ($num==10){
echo "10과 같음 ". "<br /> ";
}else{
echo "10과 같지 않음 ". "<br />";
}
//if else if 문
if($num==10){
echo "10과 같음"."<br />";
}
else if ($num==20){
echo "20과 같음"."<br />";
}
else{
echo "그외 의 수임 "."<br />";
}
//중첩 if 문
if(true){
if(false){
}else{
}
}else{
if(true){
if(false){
}else{
}
}
}
//PHP 에서 난수(랜덤 수 )발생하기
$randomNum= mt_rand(1,100); // 1~100까지 발생
echo $randomNum . "<br/>";
//3의 배수이면 "3의 배수입니다" 출력
//var %3==0
//2의 배수이면, "2의 배수입니다" 출력
// 그외의 수이면, "그 외의 수입니다" 출력
if($randomNum %3==0){
echo "3의 배수입니다.";
}
else if ($randomNum %2==0){
echo "2의 배수입니다. ";
}
else{
echo "그 외의 수입니다." ;
}
//switch case 문
//자바와 유사
$num2=20;
switch($num2){
case 10:
echo "10" . "<br />";
break;
case 20:
echo "20" . "<br />";
break;
case 30:
echo "30" . "<br />";
break;
default:
echo "etc" . "<br />";
break;
}
?>
</body>
</html>
<html>
<body>
<?php
//연산자
//자바와 거의 비슷
//산술 연산자
// + - * / % ++ --
//대입연산자
// = += -= *= /= %= .=(문자열 연결)
//비교연산자
// == != > < >= <=
//논리연산자
// ! (Not) && (AND) and || (OR) or
if(true && true){
}
if(true and true){
}
if(true || true){
}
if(true or true){
}
?>
</body>
</html>
<html>
<body>
<?php
//가변 변수
//$$varname
//$($varname)
// 사용이유 : 변수 이름을 동적으로 변경가능
$varname= "newname";
$$varname= "홍길동";
echo $newname . "<br />";
echo $varname;
?>
</body>
</html>
<html>
<body>
<?php
//문자열
//쌍따옴표, 단따옴표 사용가능
echo '문자열1' . '<br /> ';
echo "문자열1" . "<br /> ";
// 문자열 안의 단따옴표 표현
echo "그는 '안녕하세요 ' 라고 말했다 .". '<br />';
echo '그는 "안녕하세요"라고 말했다.'. '<br />';
echo "그는 \"안녕하세요\"라고 말했다.". '<br />';
echo '그는 \'안녕하세요\'라고 말했다.'. '<br />';
?>
</body>
</html>
<html>
<body>
<?php
//var_dump()함수 : 타입과 내용물(값) 보기
$var ="string";
var_dump($var);
var_dump(10);
var_dump(3.14);
//gettype() 함수: 타입을 반환해줌
$a= 100;
echo gettype($a) . "<br />";
// is_int() : 정수인지 true/false 로 반환함
echo is_int($a) . "<br />";
//settype() 함수 : 타입 변환(Casting)
settype($a, 'double');
echo gettype($a) ."<br /> ";
echo is_double($a) . "<br /> ";
?>
</body>
</html>
<html>
<body>
<?php
// 상수
// define("상수명" , 상수값)
// 자바 -final
define("PI", 3.141592);
echo PI .+"<br />"; // $필요 없음
define("TITLE", " 타이틀문구");
echo TITLE . +"<br />";
?>
</body>
</html>
<html>
<body>
<?php
$eng=80;
$math=90;
$kor=70;
// 세 과목의 합과 평균을 출력하시오
$sum=0;
$avg=0;
$sum=$eng+$math+$kor;
$avg=$sum/3;
echo "sum :".$sum. "<br/>";
echo "avg :". $avg. "<br/>";
// 출력 예 ) 합계 : * 점
// 평균 : * 잠
?>
</body>
</html>
<html>
<body>
<?php
//변수
//타입이 결정되는 시점은 값이 들어갈 때 결정 !
// 한번 타입이 결정되면 바꾸는 것은 비추천 !
$myInt =10;
$myFloat=3.14;
$myString ="대한민국";
$myBool= true;
// true 1, false 0 값
// . 문자열 연결 연산자
echo $myInt."<br />";
echo $myFloat. "<br / >";
echo $myString ."<br />";
echo $myBool."<br /> ";
?>
</body>
</html>
<!-- localhost/ex02.php -->
<!-- php 변수 -->
<!-- 확장자 php이지만, html문서 처럼 사용함 -->
<!-- php 버전 -->
<!-- 최신버젼 7이상 -->
<!-- 주로 사용하는 버전 : 5.6 버전 이하를 사용함 -->
<!-- 5.7 이상 지원하는 DB 관련 함수가 달라짐. 호환성의 문제 -->
<html>
<body>
<script>
</script>
<?php
// 변수 선언은 $ 심볼로 시작함
// 타입이 없음
$a =10;
//echo : 브라우저에 출력하는 문장 (줄바꿈 없음 )
echo $a;
// 수정된 내용이 잘 안바뀔때 ?
// 새로고침해도 약간의 delay가 있음
// 방문기록삭제 - 캐쉬 지움
// php.ini 파일의 opcache.enable=0 설정
// Bitnami 설치폴더/ php/ php.ini
echo "<h1>Header </h1>";
// 주석문 // #
# 주석문입니다
// 주석문입니다
/*
여러줄
주석문
*/
$a = $a +1;
echo $a;
// print 브라우저 출력문 (줄바꿈 없음)
print $a;
echo $a;
?>
</body>
</html>