개발 꿀팁/PHP

PHP는 세계 최고의 언어이다

Jammie 2022. 7. 2. 12:34
반응형

PHP 코드 ID 인식
페이지에 PHP를 작성하려면다음과 같이 코드는 매우 쉽습니다.

<?php
   echo "PHP세계 최고의 언어입니다";
?>

자바스크립트 스크립트 언어를 <script> </script> 태그 사이에 써야 하는 것처럼 페이지에 PHP 코드를 적어 <?>에 쓸 수 있습니다.php? > 라벨 사이인데 뒷부분 주의? > 생략 가능해요.

계산식도 가능합니다:<?phpecho 23+6;?>

2.문자열
문자열은 큰따옴표로 묶인 단어 또는 문장으로, 예를 들어 "Hi, jimo!"이다.이 문자열을 PHP 언어 출력으로 출력할 수 있습니다.

<?php echo "Hi,jimo!";?>

다음 코드와 같이 홑따옴표로 묶을 수도 있습니다

<?php echo 'Hi,jimo!';?>

다음과 같이 두 문자를 연결할 수 있습니다

<?php echo 'Hi,'.'jimo!';?>

의미: 연결자는 여러 개의 문자열을 연결할 수 있습니다. 위의 예에서는 하나의 문자열을 두 개의 작은 문자열로 분할하여 하나의 연결자로 연결하는 것입니다.

php에서 문자열 접속자는 점(.)으로 표현되는 점이 특이하며, 다른 언어에서는 더하기 기호(+)로 표현된다. 예를 들어 J:avaScirpt, Asp, Java.

3.PHP 문장 끝자락
각 PHP 코드 행 끝에 세미콜론이 있다는 점에 유의했습니까?네, 이 점에 주의하여 PHP 프로그래밍에는 각 문장이 필요합니다.그 말미에 세미콜론을 넣는다.단, 세미콜론;반각상태로 반드시 입력하도록 주의한다.
4.주석
PHP에는 더블슬래시(/)로 표현되는 주석문도 있다.다른 언어에서는 Html에서 <! -- 주석문 -->, CS를 사용합니다.S에서 /*주석문 */를 사용합니다.다음과 같은 코드:

<?php
//출력hi,jimo!
echo "hi,jimo!";
?>

해석문은 PHP 프로그램의 임의의 위치에 사용할 수 있습니다. 단, 주석문은 반드시 <?에 써야 합니다.php?>사이).

4.변수명의 명명 규칙
변수명은 '$'로 표시해야 하는 것 외에 지켜야 할 규칙이 있다.면허증을 받고 나서도 따라야 할 것 같아요.교통 규칙 준수. 변수 이름 지정규칙은 주로 세 가지가 있다.

1. 변수 이름은 '$_name', '$name', '$name'과 같이 문자나 밑줄 '_' 로 시작해야 합니다."$name2" 등, 하지만'$9name'은 올바르지 않습니다.

2. 변수명은 자모, 숫자, 그리고 '_'로만 구성할 수 있고, 한자도 포함할 수 있습니다.예를 들어 "$_qq", "$q"q308", "$my_"애플", "예컨대 "$name 나 등"이지만 "$name*"은 틀렸다.

3. 변수명에는 공백이 허용되지 않습니다.변수 이름이 여러 단어로 구성될 때 구분하기 위해 "_" 을( 를) 사용하는 것을 권장합니다. $my_apple, 속물밑줄 친다고 하거나 대문자로 시작하는 $myApple, 속칭 낙타식 명명법(낙타식 명명법이라고도 함)이다.

특히 PHP에서 변수 이름은 "$my_book"과 "$m"과 같이 대소문자를 구분합니다.y_Book'은 두 개의 아니요를 나타냅니다.같은 변수.

5.변수는 무엇인가
PHP는 느슨한 유형의 언어이므로, PHP에 변수의 데이터 유형을 선언할 필요가 없습니다. PHP는 변수를 자동으로 변환합니다.자동 데이터형으로 바꿉니다,정도가 PHP 학습의 문턱을 낮췄다.

'var_dump' 함수를 통해 출력하는 데이터 형식:

<?php 
 $string  = "그러니까요";
 var_dump($string);
 echo "<br />";
 $string = 9494;
 var_dump($string);
  echo "<br />";
?>

변수 중 변수가 차지하는 공간 단위가 다르기 때문에(점유하는 땅의 크기가 다르기 때문에) 몇 가지 데이터 유형으로 나뉜다. 마치 슈퍼마켓 상품의 포장지처럼, 몇 가지 종류가 있고, 상품마다 다른 포장지를 사용한다.'메모리_get_usage'를 이용하여 현재 PHP에서 소비되는 메모리를 획득할 수 있다.

<?php 
echo $m1 = memory_get_usage(); 
echo "<br />";
$var_string = "123";
echo $m2 = memory_get_usage()-$m1; 
echo "<br />";
 $n = 123;
echo $m3 = memory_get_usage()-$m1-$m2; 
echo "<br />";
 $f = 123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3; 
echo "<br />";
 $var_array = array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4; 
?>

6.변수의 데이터 유형
PHP에서 8가지 지원스칼라 유형 4개, 복합 유형 2개, 특수 유형 2개를 포함한 원시 유형.
1.스칼라 타입-부울 클래스유형
2.스칼라타입-정형
3.스칼라타입-부동점타입
부동소수점형(부동소수,쌍정)도수 또는 실수), 즉 흔히 말하는 소수는 소수점 또는 과학적 계수법으로 나타낼 수 있다.과학적 계수법은 이를 가능하게 한다소문자 e로 큰 것도 쓸 수 있다E를 쓰다.

<?php
$num_float = 1.234;    //소수점
$num_float = 1.2e3;    //과학적 계수법, 소문자 e
$num_float = 7.0E-10;     //과학 계수법, 대문자로 E를 쓰다. 
?>

4.스칼라타입-문자열(1)
문자열은 문자열입니다.PHP에서 문자는 바이트와 같은, 즉 256개의 다른 문자의 가능성이 있다는 뜻이다.

문자열 유형은 세 가지 방법으로 정의할 수 있습니다.홑따옴표 형식, 겹따옴표 형식, Heredoc 구조 형식.

4.스칼라타입-문자열(2)
문자열에 따옴표가 있을 때우리 어떡하지?

<?php 
$str_string1 = '갑은 "외로워 잘생겼냐?"';
$str_string2 = "을은 망설임 없이 '그럼 멋있겠지'라고 대답했다.!'";
$str_string3 = '갑문:\'얼마나 멋진지 말해줄래??\'';//홑따옴표 내장 홑따옴표
$str_string4 = "을은 \"멋지다.\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>

.스칼라 유형 - 문자열(3)
따옴표가 달러를 만나면 어떻게 합니까?여기서 달러는 진짜 달러가 아니라 달러 기호로 표시된 변수다.
규칙:
큰따옴표 안에 변수가 있을 때 변수따옴표 안의 내용과 함께 연결된다.
따옴표 안에 변수가 있을 때 변수문자열로 출력됩니다

<?php 
$love = "I love you!"; 
$string1 = "외로워.,$love";
$string2 = '외로워.,$love';
echo $string1;
echo "<br />";
echo $string2;
?>

4.스칼라타입-문자열(4)
내 문자열이 길면 어떡하지?

저희가 헤레닥 매듭을 쓸 수 있어요형식적인 방법으로 이 문제를 해결하며,문자열(<<<)을 나타내는 구분자를 먼저 사용하고, 이어서 "<<<" 다음에 식별자 GOD를 제공하고, 그 다음에 문자열이 주어지면, 이 식별자가 주어지는 것으로 끝납니다.

<?php 
$string1 = <<<GOD
나는 작은 당나귀 한 마리를 가지고 있는데,나는 여태껏 타 본 적이 없다.
어느 날 나는 피를 흘리며 말을 타고 장을 보러 갔다.
나는 손에 작은 가죽 채찍을 들고 있어 내 마음이 득의양양하다.
어쩐지 와르르 나는 온몸이 진흙투성이가 되었다.
GOD;

echo $string1;
?>

참고:마지막 줄에는 반드시 다른 줄을 붙여야 하며, 줄에는 'GOD'를 붙이고, ';'로 끝나는 것 외에 다른 문자를 사용할 수 없습니다. 공백을 포함하여 앞뒤 문자를 사용할 수 없습니다. 그렇지 않으면 오류가 발생할 수 있습니다.꼭 기억하세요.

5.제1종 특수 유형-자원
Resource(resource) : 파일 열기, 데이터 연결, 그래픽 캔버스 등 특수한 함수에 의해 생성되고 사용됩니다.우리는 자원을 조작(작성, 사용, 방출)할 수 있다.어떠한 자원도 필요하지 않을 때제때에 석방되어야 한다.만약 우리가 자원을 방출하는 것을 잊어버린다면, 시스템은 자동으로 쓰레기 수거 메커니즘을 활성화하여 페이지 실행이 완료된 후에 자원을 회수하여 메모리가 소모되는 것을 방지한다.

예를 들면 다음과 같다.

<?php
$file=fopen("f.txt","r");   //파일 열기
$con=mysql_connect("localhost","root","root");  //데이터베이스 연결
$img=imagecreate(100,100);//그래픽 캔버스
?>

6.제2종 특수타입-빈타입

NULL(NULL):NULL은 null 타입으로 대소문자에 민감하지 않으며, NULL 타입은 단 하나의 값을 취하며, NULL로 할당되거나, 아직 할당되지 않았거나, unset()로 할당되었을 때 NULL로 간주됩니다.
예:

<?php 
 error_reporting(0); //PHP 경고 알림 표시 안 함
 $var;
 var_dump($var);
 $var1 = null;
 var_dump($var1);
 $var2 = NULL;
 var_dump( $var2);
 $var3 = "명절을 축하합니다.!";
 unset($var3);
 var_dump($var3);
?>

7. 상수란 무엇인가
상수란 무엇인가? 상수값이 변하지 않는 양(예: 원주율)이나 상수 값이 정의되면 스크립트의 다른 어느 곳에서도 변경할 수 없다는 것을 이해할 수 있습니다.PHP에 있는 정수는 커스텀 정수와 시스템 정수로 나뉜다(자세한 내용은 추후 안내하겠다).

커스텀 리터러시는우리가 개발할 필요, 그리고 정의된 상수는 PHP의 함수 define()을 사용하여 정의한다.(비고:함수, 우리는 콘크리트 믹서 또는 체로 이해하여 입구를 통해 원료를 공급한 후 수출하여 매듭을 산출할 수 있다.함수에 있어서도 입구는 어떠한 데이터도 제공하지 않고 출구는 어떠한 값도 반환하지 않도록 한다.)

define()함수의 문법 형식은 다음과 같습니다.

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

그것은 3개의 파라미터(즉, 원료)를 가지고 있다.

첫 번째 인자"constant_name"은 필수 파라미터입니다. 상수 이름, 즉 마커, 상수 명명 규칙은 변수와 일치하지만, 달러 기호는 포함하지 않습니다.두 번째 파라미터 'value'는 필수 파라미터로 상수 값이다.세 번째 파라미터 "case_sensitive"는 옵션 파라미터로 대소문자가 민감한지 여부를 지정하고 true로 설정하면 민감하지 않음을 나타내며, 세 번째 파라미터를 지정하지 않는 경우 기본 세 번째 파라미터 값은 false입니다.

(참고: string은 매개 변수 클래스입니다.type은 문자열 type, mixed는 파라미터 type이 여러 가지 다른 type으로 받아들여질 수 있음을 나타내고 case_sensitive= true는 기본적으로 부울 tRUE)

예: 우리는 원주율을 상수 "P"로 정의한다.I'(통상 정수 모두 대문자로 쓴다)의 값을 3.14로 한다.

<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);
echo PI;
echo "<br />";
echo PII;
?>

8.시스템 상수
시스템 상수는 PHP가 이미 정의한 상수로 우리는 직접 가져다 사용할 수 있습니다. 흔히 볼 수 있는 시스템 상수는 다음과 같습니다.

(1) FILE : php 프로그램 파일명.서버 상의 현재 파일의 물리적 위치를 획득할 수 있도록 도와준다.

(2) LINE : PHP 프로그램 파일 행수.그것은 우리에게 현재 코드가 몇 번째 줄에 있는지 알려줄 수 있다.

(3) PHP_VERSION: 현재 파서의 버전 번호.현재 PHP파서 버전 번호를 알려드릴 수 있습니다.우리의 PHP 코드가 이 PHP 파서에 의해 해석될 수 있는지 미리 알 수 있다.

(4) PHP_OS: 현재 PHP 버전을 실행하는 운영체제 이름입니다.서버가 사용하는 운영 체제 이름을 알려 줄 수 있습니다이 운영체제에 맞춰 우리 코드를 최적화할 수 있다고 했다.

예:

<?php
echo __FILE__;
echo "<br />";
echo __LINE__;
echo "<br />";
echo PHP_VERSION;
echo "<br />";
echo PHP_OS;
echo "<br />";
?>

9.상수값 구하는 법
상수를 정의하면상수를 사용하려면 어떻게 해야 합니까?

상수 값을 가져오는 것은 두 가지가 있다방법이 값을 취한다.
첫 번째는 상수명 사용입니다값을 직접 가져옵니다. 예를 들어, 다음과 같이 원주율을 계산합니다

<?php
define("PI",3.14);
$r=1;
$area = PI*$r*$r; //원의 면적을 계산하다
?>

두 번째는 constant() 함수를 사용하는 것이다.이는 정수명 출력을 직접 사용하는 것과 같은 효과를 나타내지만, 함수는 다른 정수들을 동적으로 출력할 수 있기 때문에 사용상 유연하고 편리해야 한다. 문법 형식은 다음과 같다.

mixed constant(string constant_name)

첫 번째 매개 변수constant_name은 상수나 상수 이름을 저장할 수 있는 변수입니다.성공하면 리터럴 값을 반환하고 실패하면 오류 메시지 리터럴이 정의되지 않았음을 나타냅니다.(참고: mixed는 함수 반환값 유형이 여러 가지 다른 유형을 나타내고 string은 파라미터 유형이 문자열 유형임을 나타냅니다.

예:

<?php 
$p="";
//두가지로 정의한 수치다. 그것을 원주율
define("PI1",3.14);
define("PI2",3.142);
//정의값의 정확도
$height = "中";
//정밀도에 따라 정수명을 되돌리고, 상수를 가변 상수로 바꾸었다
if($height == "中"){
    $p = "PI1";
}else if($height == "低"){
    $p = "PI2";
}
$r=1;
$area = constant($p)*$r*$r;
echo $area;
?>

10.정수가 정의되었는지 여부를 판단하는 방법
상수가 중복 정의되면 PHP파서는 "Constant XXX already defined"라는 경고를 보내 상수가 정의되어 있음을 알려준다.그렇다면 팀이 개발하거나 코드량이 많은 상황에서 어떻게 하나의 리터러시가 정의되어 있는지 판단할 수 있을까?

defined() 함수가 도움말우리는 상수가 정의되어 있는지 여부를 판단합니다. 문법 형식은 다음과 같습니다.

bool defined(string constants_name)

매개 변수 constant_name만 있습니다. 상수 이름을 가져오려면 부울 true를 반환하고 그렇지 않으면 부울 talse를 반환합니다. (참고: bool은 함수 반환 값 type을 부울 type으로 나타냄)

예:

<?php 
define("PI1",3.14);
$p = "PI1";
$is1 = defined($p);
$is2 = defined("PI2");
var_dump($is1);
var_dump($is2);
?>

12.연산자
PHP 연산자는 일반적으로 산술 연산자, 대입 연산자, 비교 연산자, 3원 연산자, 논리 연산자, 문자열 연결 연산자, 오류 제어 연산자로 구분된다.

1.산술 연산자:+,-,*,/,%

2.할당 연산자는 두 종류가 있다.

(1)"=":오른쪽 식의 값을 왼쪽의 연산수에 대입한다.그것은 오른쪽 식 값을 복사해서 왼쪽의 연산수에 넘겨준다.바꾸어 말하면, 우선 왼쪽의 연산수를 한 개 신청하였다.메모리, 그런 다음 복사한 값을 이 메모리에 넣습니다.

(2)&: 대입의 인용은 두 변수가 모두 같은 데이터를 가리키고 있음을 의미합니다.이것은 두 변수가 메모리 한 개를 공유하게 할 것이다. 만약 이 메모리에 저장된 데이터가 바뀌면, 두 변수의 값은 모두 같다변화가 생길 것이다.

예:

<?php 
    $a = "저는 PHP 배우는 걸 좋아해요!";
    $b = $a;
    $c = &$a;
    $a = "저는 매일 PHP를 공부해요!";

    echo $b."<br />";
    echo $c."<br />";
?>

3.비교 연산자
비교 연산자는 주로비교 연산(예: 동일, 동일, 동일하지 않음, 동일하지 않음, 더 크거나 작음)PHP에서 흔히 사용되는 비교 연산자는 다음 표와 같다

4.삼원 연산자
(?) "삼원연산자는 표현식(expr1)에 대한 비교 연산자이기도 합니다.(expr2): (expr3) 만약 expr1의 값이 true이면 이 식은 expr2가 되고 그렇지 않으면 expr3가 된다.

5.논리 연산자
논리 연산자 기본값은 다음과 같습니다.논리연산을 하는 것은, 예를 들면, 논리곱, 논리곱, 논리곱, 논리곱, 논리곱 등이며, PHP에서 일반적으로 사용되는 논리연산자는 다음 표와 같다.

6. 문자열 연결 연산자
문자열 연결 연산자는PHP에 제공된 문자열 연결 연산자는 다음과 같습니다.

(1) 연산자를 연결한다().": 오른쪽 매개 변수를 왼쪽 매개 변수 뒤에 붙여 놓은 문자열을 반환합니다.

(2) 연결 할당 연산자(.=" : 왼쪽 파라미터 뒤에 오른쪽 파라미터를 붙입니다.

예:

<?php 
    $a = "외로워.";
    $tip = $a."어서오세요";

    $b = "동쪽에서 해가 뜨면 서쪽에서 비가 온다.";    
    $b .= ",길은 맑지 않지만 맑다.";

    $c = "동쪽에서 해가 뜨면 서쪽에서 비가 온다";    
    $c = $c.",길은 맑지 않지만 맑다.";

    echo  $tip."<br />";
    echo  $b."<br />";
    echo  $c."<br />";
?>

7.오류 제어 연산자

PHP에서 오류를 제공합니다.연산자 '@'를 잘못 제어하여 실행 중에 오류가 발생할 수 있는 표현식에 대해 오류 발생 시 고객에게 오류 메시지를 표시하지 않도록 하는 등 사용자 친화적이지 않습니다.따라서 @를 PHP 표현식 앞에 놓을 수 있습니다. 이 표현식에서 발생할 수 있는 모든 오류 정보는 무시됩니다.

트랙이 활성화되면_error(이건 php.ini에 설정됨) 특성, 식에서 발생하는 모든 오류 정보는 $php_erromsg 변수에 저장되며, 이 변수는 오류가 발생할 때마다 덮어쓰게 되므로 이를 사용하려면 가능한 한 빨리 검사해야 합니다.

주의할 점은 오류 제어입니다.접두사 "@"는 잘못된 정보를 차단하지 않으며 함수나 클래스의 정의 앞에 놓을 수 없으며 if나 foreach와 같은 조건 구조에도 사용할 수 없다.

예:

<?php  
ini_set('track_errors', 1); 
 $conn = @mysql_connect("localhost","username","password");
 echo "틀렸다, 틀렸다:".$php_errormsg;
?>

오류, 오류 원인 13. 구조
선택과 순환 구조가 다른 언어들과 모두 비슷하다.많이, 많이 소개하지 말고 다른 것만 소개하세요:

순환구조의 foreach 순환어구

PHP에서 foreach 순환어문장, 배열들을 넘나드는 데 자주 사용되며, 일반적으로 두 가지 사용 방법이 있다: 첨자와 첨자를 분리하지 않는다.

(1) 값만 취하고 낙찰은 받지 않는다

<?php
 foreach (배열 as 값){
//수행하는 임무
}
?>

예:

<?php
$students = array(
'2010'=>'레이후충',
'2011'=>'하야시 히라유키',
'2012'=>'취양',
'2013'=>'제멋대로 하다',
'2014'=>'하늘에 묻다',
'2015'=>'제멋대로 하다',
'2016'=>'허점을 찌르다',
'2017'=>'반듯하다',
'2018'=>'악불군',
'2019'=>'영중칙',
);//1학생 10명의 학번과 이름, 배열로 저장

//순환 구조를 사용하여 배열 사이를 옮겨다니며, 학번과 이름을 가져옵니다
foreach($students as $v)
{ 
    echo $v;//이름 출력(인쇄)
    echo "<br />";
}
?>

(2) 부화값도 함께 취한다.

<?php
foreach (배열 as 첨자 = > 값){
 //수행하는 임무
}
?>

예:동 상례:

foreach($students as $key => $v)
{ 
    echo $key.":".$v;//출력(인쇄) 학번: 이름
    echo "<br />";
}
?>

 

반응형