sizeof (배열이름)
count (배열이름)
배열에 몇개의 원소가 있는지 알아보기 위해사용

<?
$alpa=array("a","b","c","d","e","f","g");

$size=sizeof($alpa);

for($i=0 ; $i<$size; $i++) {
 echo "$alpa[$i]";}
?>
결과
a b c d e f g


배열의 원소추가
배열 첫부분에 원소추가 -> array_unshift (배열이름, 추가할원소, 추가할원소.....)
배열끝부분에 원소추가 -> array_push(배열이름, 추가할원소, 추가할원소.....)

<?
$a[0]="c";
$a[1]="d";
array_unshift($a, "a", "b");
echo "$a[0] $a[1] $a[2] $a[3]";
?>
결과는 a b c d

<?
$a[0]="c";
$a[1]="d";
array_push($a, "b", "a");
echo "$a[0] $a[1] $a[2] $a[3]";
?>
결과는 c d b a
















여러개의 자료를 묶어서 갖고있는 일종의 벡터 또는 행렬의 집합

1.원소대입으로 정의하기
<?
$a[0]="a";
$a[1]="b";
$a[2]="c";
$a[3]="d";

echo $a[2];
?>
결과는c

<?
$a[]="a";
$a[]="b";
$a[]="c";
$a[]="d";

echo $a[2];
?>
결과는 c
->배열순서를 안정해주면 차례차례 0번째 위치부터 채워진다.



2.array함수로 정의하기
배열이름 = array ("값1", "값2", ...);
<?
$a= array ("a", "b", "c");

echo "$a[0] $a[1] $a[2]";
?>
결과는 a b c



3.이차원배열
$a

 $a[0] $a[1] 
 $a[0][0] $a[1][0] 
 $a[0][1]  $a[1][1]


<?
$a[0][0]="a";
$a[0][1]="b";
$a[1][0]="c";
$a[1][1]="d";

echo $a[0][0];
echo $a[0][1];
echo $a[1][0];
echo $a[1][1];
?>
결과는 abcd

echo "$a[0][0] $a[0][1] $a[1][0] $a[1][1]" 이렇게 따옴표안에 한번에 출력하면 제대로 된 결과가 안나옴을 주의하자
Array[0] Array[1] Array[0] Array[1]
위에 처럼 결과가 나오게 된다.

이차원배열을 어레이함수를 사용해서 정의하려면
배열이름 = array ( array ("값1", "값2"... ), array {"값1", "값2"...) ...)

<?
$a= array( array("a","b"), array("c","d") );

echo $a[0][0];
echo $a[0][1];
echo $a[1][0];
echo $a[1][1];
?>
결과는 abcd



4.연관배열
배열의 원소번호와 배열의 원소값에 대한 연관을 지어주는 배열

$배열이름[키이름] = 값;
<?
$a[cpu]="펜티엄4";
$a[ram]="256m";
$a[hdd]="40g";

echo"
CPU : $a[cpu] <br>
RAM : $a[ram] <br>
HDD : $a[hdd] ";
?>

어레이를 사용한 배열
배열이름 = array("키이름" => "값", "키이름" => "값" ...);

<?
$a=array("cpu"=>"펜티엄", "ram"=>"256m", "hdd"=>"40ggg");
echo"
CPU : $a[cpu] <br>
RAM : $a[ram] <br>
HDD : $a[hdd] ";
?>

일반적인 배열과 마찬가지로
$a[mycom][cpu] 와 같이 2차원 배열의 생성도 가능하다



include
다른문서의 소스를 그대로 포함하겠다

include "포함할 문서";

a.php
<? include "b.php";

echo $a;
test();
?>
결과는
변수 a
함수 test

b.php
<?
$a= "변수 a <Br>";

function test() {
 echo "함수 test";}
 ?>



require "포함할문서";
require역시 include와 같지만, 좀더 강제적인 의미를 갖는다.

하지만 서로 다른점을 찾자면 내부적으로 약간 다른데
a.php에 b.php를 인클루드했을경우 php는a와 b를 따로 해석한다.
그러나 require했을경우 b를 a의 일부분으로 생각하여 한번에 해석하게된다.
때문에 인클루드보다는 require이 조금 더 빠르게 실행된다.


for (초기값 ; 제한조건 ; 증가값) { 반복할 실행문}

<?
for ( $i=1 ; $i <= 3 ; $i++ ) {echo "ok"; }
?>


1부터 10000까지 합을 구하는 예제
<?
$k=o;
for($i=1; $i<=10000; $i++)
{$k=$k+$i;}
echo $k;
?>

결과는
50005000


구구단예제
<?
$d=2;
for ($d=2 ; $d<=9 ; $d++) {

 for($i=1; $i<=9; $i++)
 {$result=$d*$i;
 echo "$d x $i = $result <br>";
 }
echo "<br>";
}
?>


while (조건문) {반복실행문}

1부터 10000까지 합
<?
$a=1;
$b=0;

while($a <=10000) {
 $b+=$a;
 $a++;
}
echo $b;
?>
결과는
50005000



do {반복실행문}
while (조건문)

두와일예제
<?
$a=1;

do {echo "$a";}
while ($a <1)
?>
결과는 1


두예제
<?
$a=1;

while ($a <1) {echo "$a";}
?>
결과는 없음

차이점은 두와일문에서는 조건에 맞지 않아도 한번은 실행되지만
두문에서는 조건이 맞지 않으면 아예실행이 안된다


break 는 루프를 멈추게하는 명령어로 for와 while문 속에서 사용할 수 있다.
<?
$a=1;

while (1) {$a++;}
?>
결과는 무한루프

<?
$a=1;

while (1) {
 if($a ==10) {break;}
 $a++;}
 echo $a;
?>
결과는 10
->브레이크때문에 무한루프가 멈추게 되고 그 멈춘시첨에서 a의 값을 출력해주게 된다.



continue
반복문에서 실행문의 실행을 중지시키는 명령
여기서 실행문의 중지라는 것을 break처럼 루프를 완전히 빠져나오는 것이 아니라 단지
그 회에 해당하는 실행문만을 건너 뛴다는 것이다.

<?
for ($i=1; $i <3 ; $i++) {
 echo "$i <br>";
}
?>
결과는
1
2

<?
for ($i=1; $i <3 ; $i++) {
 if ($i == 1) {continue;}
 echo "$i <br>";
}
?>
결과는
2
->i가 1일때는 콘티뉴가 실행되어 출력문이 실행되지 않은 것을 알 수 있다


 

<form name="login"> <-폼이름
<input type="text" name="id" value="sonic"> <-객체이름
</form>

자바스크립트= document.폼이름.객체이름
document.login.id="sonic"


<script language=javascript>
function check() {
if (!document.login.id.value) {
 alert ("id를 입력하세요");
 document.login.id.focus(); //포커스를 아이디박스에 깜박이게 함
 return false;
}

if(!document.login.pass.value) {
 alert ("pass를입력");
 login.pass.focus();
 return false;
}
}
 </script>

<form method="post" name="login" onsubmit="return check()">
 <input type="text" name="id" size="10"><br>
 <input type="password" name="pass" size="10"><br>
 <input type="submit" value="확인">
 </form>

join.php
<form method="post" action="result.php">
<input type="text" name="id" size="10">
<input type="submit" value="확인">
</form>


result.php -1
<?
function error($message) {

echo "
<script language=javascript>
alert('$message');
history.go(-1);
</script> ";
}

if (!$id) {
error("id를입력하세요");
}
else {
 echo "입력하신 id는 $id 입니다";}
?>


result.php -2
<?
if (!$id) {
echo "
<script language=javascript>
alert( ' id를입력하세요');
history.go(-1);
</script> ";
}
else
{ echo"입력하신 id는$id 입니다"; }
?>


cf.뒤로가기스크립트
history.go(-1);

조건문 if문
조건이 참일때만 실행문이 실행된다
if (조건문) {실행문}

<?
$a=1;

if($a) {
echo $a;
}
?>
결과는 1
->a에 값이 있고, 그 값이 0이 아니냐? 묻고 맞기때문에 1을 출력하게됨




if (조건문) {실행문}
else {실행문}



if (조건문) {실행문}
elseif (조건문) {실행문}
else {실행문}




switch
한 가지 조건에 여러 개의 결과가 예상될 경우

switch (조건문){
 case 결과1:
 실행문1
 break;

 case 결과2:
  실행문2
  break;

 default:
  기본실행문
  break;
}


<?
$a=1;
switch ($a+1){
 case 0:
 echo "결과는 0";
 break;

 case 1:
  echo "결과는1";
  break;

 case 2:
  echo "결과는2";
 break;
   

 default:
  echo "불일치";
  break;
}

?>
결과는2

 

 

 
비교연산자
두 개의 값을 비교할때 사용되는 것으로 참 거짓을 판단할때 사용

 비교연산자 내용 
 $a $a에 값이 있고, 그 값은 0이 아니다
 !$a  a의 값은 0이거나 값이 들어있지 않다
 $a == $b  a와 b의 값은 같다
 $a != $b  a와 b는 다르다
 $a > $b  a가 b보다 크다
 $a < $b  a가 b보다 작다
 $a >= $b  a가 b보다 크거나 같다
 $a <=$b  a가 b보다 작거나 같다


논리연산자
논리연산은 두개 이상의 비교연산에 대해 관계를 지어주는 역할

 논리연산자 내용 
 a and b  a,b 모두가 참이면 참
 a && b  a,b,모두가 참이면 참
 a or b  a,b모두가 참이거나, 둘중하나만 참이면 참
 a|| b   a,b모두가 참이거나, 둘중하나만 참이면 참
 a xor b  a,b중 한가지가 참일때만 참


 형식  내용
 변수++  다음부터 +1된 값을 사용한다
 ++변수  현재부터 +1된 값을 사용
 변수--  다음부터 -1된 값을 사용
 --변수  현재부터 -1된 값사용


<?
$a=5;
echo ++$a;
?>
결과는 6


<?
$a=5;
echo ++$a;
echo $a++;

?>
결과는 5


<?
$a=5;
echo $a++;
echo $a;
?>
결과는
56
->처음$a++실행한 부분에서는 +1이 실행되지 않았찌만 그 이후에는 +1이 되었기에



 형식 내용  다른표현 
 변수1 += 변수2  변수1과 변수2의 합을 변수1에 저장  변수1=변수1+변수2
 변수1 -= 변수2  변수1과 변수2의 차를 변수1에 저장  변수1=변수1-변수2


<?
$a=3;
$b=1;

$a +=$b;
echo $a;
?>
결과는 4



계산기만들기
<form method="post">
<input type="text" name="a" size="5"> +
<input type="text" name="b" size="5">
<input type="submit" value="계산하기">
</form>

<?= $a+$b ?>

여기서 맨마지막
<?= $a+$b ?>의 의미는
<? echo $a+$b; ?>와 같은뜻이다
즉 echo의 역할을 하며 끝에 세미콜론은 생략해도 된다

문자열추출
substr("문자열", 시작위치, 길이)


   c  d  e
 시작위치(양)  0  1  2  3  4
 시작위치(음)  -5  -4  -3  -2  -1


<?
$str="abcde";
$result=substr($str,1,1);
echo $result

?>
결과는 b

b이후의 모든 문자를 출력하고 싶으면 길이를 아예 적어주지 않으면 되며,
길이를 0으로 해주면 아무 것도 출력되지 않는다.

또 다른방법으로 뒤에서 부터 거꾸로생각해보면
b의 위치는 -4이므로
substr($str, -4,1) 도 동일한 결과가 된다.


문자열찾기
strstr ("문자열", "찾을문자")
찾을문자가 포함한 뒷부분만 리턴하는 함수

<?
$str="PHP is Professional HTML Preprocessor";
$result=strstr($str,"Pr");
echo $result

?>
결과는
Professional HTML Preprocessor



문자열치환
str_replace ("치환할문자", "치환될문자", "대상문자열")

<?
$str="abcde";
$result=str_replace("c", "C", $str);
echo $result

?>
결과는
abCde





+ Recent posts