php 공부

nayoon·2022년 1월 14일
0

w3schools php 번역..

What is PHP?

  1. PHP is an acronym for "PHP: Hypertext Preprocessor"
    PHP: Hypertext Preprocessor의 약자이다.
  2. PHP is a widely-used, open source scripting language
    널리 사용되는 오픈 소스 스크립트 언어이다.
  3. PHP scripts are executed on the server
    PHP 스크립트는 서버에서 실행된다.
  4. PHP is free to download and use

What is a PHP File?

  1. PHP files can contain text, HTML, CSS, JavaScript, and PHP code
    PHP 파일은 텍스트, HTML, CSS, JavaScript, PHP 코드를 포함할 수 있다.
  2. PHP code is executed on the server, and the result is returned to the browser as plain HTML
    PHP 코드는 서버에서 실행되고, 일반 HTML로 브라우저에서 결과를 확인할 수 있다.
  3. PHP files have extension ".php"

What Can PHP Do?

  1. PHP can generate dynamic page content
    동적페이지 생성이 가능하다.
  2. PHP can create, open, read, write, delete, and close files on the server
    서버에서 파일을 생성, 열기, 읽기, 쓰기, 삭제, 닫기를 할 수 있다.
  3. PHP can collect form data
    form data를 수집할 수 있다.
  4. PHP can send and receive cookies
    cookies(쿠키)를 주고 받을 수 있다.
  5. PHP can add, delete, modify data in your database
    데이터베이스에 data를 추가, 삭제, 수정할 수 있다.
  6. PHP can be used to control user-access
    사용자 접근을 컨트롤할 수 있다.
  7. PHP can encrypt data
    data를 암호화할 수 있다.

What's new in PHP 7

  1. PHP 7 is much faster than the previous popular stable release (PHP 5.6)
  2. PHP 7 has improved Error Handling
  3. PHP 7 supports stricter Type Declarations for function arguments
    유형 선언이 더욱 엄격해졌다.
  4. PHP 7 supports new operators (like the spaceship operator: <=>)

PHP Data Types

  1. String
  2. Integer
  3. Float
  4. Boolean
  5. Array
  6. Object
  7. NULL
  8. Resource

var_dump()를 통해 data type과 value를 알 수 있다.

$x = 1;
var_dump($x);

# int 1

Object

<?php
class Car {
   public $color;
   public $model;
   public function __construct($color, $model) {
       $this->color = $color;
       $this->model = $model;
   }
   public function message() {
       return "My car is a ". $this->color . " ". $this->model."!";
   }
}

$myCar = new Car("black", "Volvo");
echo $myCar->message();
echo "<br>";
$myCar = new Car("red", "Toyota");
echo $myCar->message();
?>

# My car is a black Volvo!
# My car is a red Toyota!

PHP Strings

strlen() - string의 길이 반환

<?php
echo strlen("Hello World"); # 11
echo "<br>";
echo strlen(12); # 2
?>

str_word_count() - string의 단어 개수 세기

echo str_word_count("Hello World")."<br>"; # 11

strrev() - string 뒤집기

echo strrev("Hello World")."<br>"; # dlroW olleH

strpos() - string 내 text 검색

echo str_replace("World", "nayoon", "Hello World"); # Hello nayoon

str_replace() - string 내 text 바꾸기

echo strpos("Hello World", "World"); # 6

PHP NaN

NaN은.. Not a Number를 의미한다.

NaN은 불가능한 수학 연산에 주로 사용되는데, is_nan() 함수를 사용하면 NaN을 체크할 수 있다.

PHP Math

min and max function

<?php
$arr = array(0, 150, 30, 20, -8, -200);

# 변수 넣어도 되고
echo min($arr)."<br>"; # -200
# 그냥 통째로 넣어도 된다.
echo max(0, 150, 30, 20, -8, -200); # 150

?>

abs() function

<?php
echo abs(-6.7); # 6.7
?>

round() function

round() 함수는 부동 소수점 숫자를 가장 가까운 정수로 반올림한다.

<?php
echo round(0.60)."<br>"; # 1
echo round(1.60)."<br>"; # 2
echo round(-4.40)."<br>"; # -4
echo round(-4.60)."<br>"; # -5
?>

rand() function

랜덤으로 숫자를 만든다.

<?php
echo rand(); # 1381167960

# 10과 100 사이 랜덤한 수 (10이랑 100 포함)
echo rand(10, 100);
?>

PHP Constants

Constants -> 상수^^!
define을 사용하면 상수를 만들 수 있다^^!

letter나 underscore로 시작하고 $는 안붙인다.

automatically global이다.

define(name, value, case-insensitive)

case-insensitive란 문자의 대소문자 구분이 없다는 뜻이다.

<?php

// case-sensitive constant name
define("GREETING", "Welcome to W3Schools.com!");
echo GREETING;

// case-insensitive constant name
define("GREETING", "Welcome to W3Schools.com!", true);
echo greeting;

?> 

그냥 해봤는데 이것도 된다.

<?php

function myTest() {
	define("GREETING", "Welcome to W3Schools.com!");
}
 
myTest();
echo GREETING;
?> 

PHP Operators

===

$x === $y

Identical, Returns true if $x is equal to $y, and they are of the same type.

and(&&), or(||), xor

or(||) - True if either $x or $y is true

xor - True if either $x or $y is true, but not both


<?php
$x = 100;  
$y = 50;

if ($x == 100 xor $y == 50) {
    echo "Hello world!";
}

# returns Hello world!
?>  

if $x is true and $y is true, then "xor" returns false

<?php
$x = 100;  
$y = 50;

if ($x == 100 xor $y == 50) {
    echo "Hello world!";
}
?>  

# returns nothing

PHP String Operators

. - Concatenation
.= - Concatenation assignment ( Append )


<?php
$txt1 = "Hello";
$txt2 = " world!";

echo $txt1 . $txt2; # Hello world!

$txt1 .= $txt2;
echo $txt1; # Hello world!
?>  

PHP foreach

foreach

$colors = array("red", "green", "blue", "yellow");

foreach($colors as $value) {
	echo "$value <br>";
}

key and value

$age = array("Peter" => "35", "Ben"=>37, "Joe"=>"43");

foreach($age as $x => $val) {
	echo "$x = $val<br>";
}

PHP Type

PHP는 값에 따라 데이터 유형을 변수에 자동으로 연결하는데, 데이터 유형이 엄격하게 설정되지 않기 때문에 오류없이 정수에 문자열을 추가하는 등의 작업을 할 수 있다.

PHP 7에서는 유형 선언이 추가되었다.

따라서 함수를 선언할 때 예상되는 데이터 유형을 지정할 수 있는 옵션이 제공되고 데이터 유형을 선언했을 때 이를 지키지 않으면 치명적인 오류가 발생한다!!!!!!!!!!!

Passing Arguments by Reference

인자는 보통 값으로 전달되는데, &를 이용하면 참조값으로 전달할 수 있다.

<?php

function add_five(&$value) {
    $value += 6;
}

$num = 2;
add_five($num);
echo $num; # 8
?>

PHP-FPM

PHP FastCGI Process Manager의 약자로 FastCGI란 CGI보다 더 빠른 처리를 이야기한다.

CGI

Common Gateway Interface의 약자로 서버와 애플리케이션 간에 데이터를 주고 받는 방식 또는 컨벤션을 이야기한다.

참고
PHP Introduction
PHP Data Types
PHP Strings

profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글