κ°œλ°œκ΄€λ ¨/PHP

PHP λΉ„κ΅μ—°μ‚°μž !=,===,== μ•Œμ•„λ³΄κΈ°!

🐻곰이🐻 2020. 11. 26.
728x90

μ•ˆλ…•ν•˜μ„Έμš” κ³°μ΄μ—μš”:)

 

μ˜€λŠ˜μ€ λΉ„κ΅μ—°μ‚°μžμ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν• κ±΄λ°μš” !

 

1.$a와 $bκ°€ κ°™μ§€μ•ŠμŒμ„ PHP둜 증λͺ…해라.

<?php
	$a = 1;
	$b = "1";
?>

λΌλŠ” μ§ˆλ¬Έμ΄λ‚˜ 문제λ₯Ό λ³΄μ•˜μ„ λ•Œ μ–΄λ–»κ²Œ 증λͺ…ν• κΉŒμš”??

 

$b에 더블쿼터("") κ°€μžˆμž–μ•„μš”~ $bκ°€ string νƒ€μž…μ΄μ—μš” ~

 

이걸 μ–΄λ–»κ²Œ 증λͺ…ν•΄μš”??

 

λ°”λ‘œ λΉ„κ΅μ—°μ‚°μžλ‘œ λΉ„κ΅ν•˜μ—¬ 증λͺ…ν• μˆ˜κ°€μžˆμŠ΅λ‹ˆλ‹€.

 

비ꡐ μ—°μ‚°μž λ‚΄μš© μ‚¬μš©λ²• κ²°κ³Ό
== 값이 κ°™μ„λ•Œ TRUE $a == $b TRUE
=== 값도 κ°™κ³  νƒ€μž…λ„ 같을 λ•Œ TRUE $a === $b FALSE
!= 값이 같지 μ•Šμ„λ•Œ TRUE $a != $b FALSE
!== 값이 κ°™μ§€μ•Šκ³  νƒ€μž…λ„ κ°™μ§€μ•Šμ„ λ•Œ TRUE $a !== $b TRUE
<> 값이 같지 μ•ŠμœΌλ©΄ TRUE $a <> $b FALSE
< $bκ°€ $a보닀 클 λ•Œ TRUE $a < $b FALSE
> $aκ°€ $b보닀 클 λ•Œ TRUE $a > $b FALSE
<= $bκ°€ $a보닀 ν¬κ±°λ‚˜ 같을 λ•Œ TRUE $a <= $b TRUE
>= $aκ°€ $b보닀 ν¬κ±°λ‚˜ κ°™μ„λ•Œ TRUE $a >= $b TRUE

λΉ„κ΅μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 이제 값이 λ‹€λ₯Έμ§€ 같은지 비ꡐλ₯Ό ν•΄λ³Όκ²λ‹ˆλ‹€.

 

== μ“°λ©΄μ•ˆλ κΉŒμš”??

 

해보도둝 ν•©μ‹œλ‹€ γ…Žγ…Ž

<?php
	$a = 1;
	$b = "1";

	if($a == $b)
	{
		echo "κ°™λ‹€";
	}
	else
	{
		echo "λ‹€λ₯΄λ‹€";
	}

	//좜λ ₯κ²°κ³Ό => κ°™λ‹€
?>

== 으둜 μ—°μ‚°ν–ˆμ„λ–„ 같닀라고 λ‚˜μ˜΅λ‹ˆλ‹€.

 

그런데 μœ„μ— λ§μ”€λ“œλ Έλ‹€μ‹œν”Ό κ°™μ§€μ•ŠμŒμ„ 증λͺ…ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λΆ„λͺ… $a λΌλŠ” λ³€μˆ˜μ˜ 값도 1이고 $b λΌλŠ” λ³€μˆ˜μ˜κ°’λ„ 1인데 string(문자)νƒ€μž…μ„ 증λͺ…ν•΄μ•Όν•˜λŠ”λ°μš”

정닡은 === μ΄λΌλŠ” 연산을 μ¨μ„œ 증λͺ…μ„ν• μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

 

νƒ€μž…μ˜ 값도 비ꡐλ₯Ό ν•΄μ•Όν•œλ‹€λŠ”κ²λ‹ˆλ‹€.

 

νƒ€μž…μ˜ 값을 ν™•μΈν•΄λ³ΌκΉŒμš”?

 

php λ‚΄μž₯ν•¨μˆ˜ gettype 을 μ¨μ„œ ν™•μΈν• μˆ˜μžˆμŠ΅λ‹ˆλ‹€.

 

echo gettype("λ³€μˆ˜κ°’"); 으둜 νƒ€μž…μ„ 확인해보면

<?php
	$a = 1;
	$b = "1";

	echo gettype($a);
	echo "\n";
	echo gettype($b);

	//좜λ ₯κ²°κ³Ό => integer string
?>

$aλΌλŠ” λ³€μˆ˜λŠ” integer $bλΌλŠ” λ³€μˆ˜λŠ” string 라고 결과값에 좜λ ₯λ©λ‹ˆλ‹€.

 

두 λ³€μˆ˜μ˜ 값은 κ°™μ§€λ§Œ νƒ€μž…κ°’μ€ 같지 μ•Šλ„€μš” γ…Žγ…Ž

 

이제 === 연산을 ν™œμš©ν•΄ λ΄…μ‹œλ‹€!

 

<?php
	$a = 1;
	$b = "1";

	if($a === $b)
	{
		echo "TRUE 값도 κ°™κ³  νƒ€μž…λ„ κ°™μ•„μš”";
	}
	else
	{
		echo "FALSE λ‹¬λΌμš”";
	}

	//좜λ ₯κ²°κ³Ό => FALSE λ‹¬λΌμš”
?>

결과값은 λ‹€λ₯΄λ‹€κ³  λ‚˜μ˜΅λ‹ˆλ‹€.

 

μ΄λ ‡κ²Œ ν•˜λ©΄ 증λͺ…ν• μˆ˜κ°€ μžˆλŠ”κ±°κ² μ£ ?

 

λΉ„κ΅μ—°μ‚°μž 저희 νšŒμ‚¬μ—…λ¬΄μ—μ„œλ„ 많이 μ‚¬μš©ν•©λ‹ˆλ‹€.

 

=== μ΄λΌλŠ” 연산은 잘 μ“°μ§„μ•Šμ§€λ§Œ μ•Œμ•„λ‘μ‹œλ©΄ μ’‹μ„κ±°κ°™μ•„μš” γ…Žγ…Ž

 

κΌ­ μ•„λŠ”λ° ν—·κ°ˆλ¦΄λ•Œκ°€ μ’…μ’…μžˆμ£  γ…Žγ…Ž 많이 써봐야 μ†μ—μ΅μ–΄μ„œ "μ•„ μ–΄λ–»κ²Œ ν•΄μ•Όκ² λ‹€" λΌλŠ”κ²Œ λ°”λ‘œμž‘νžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

 

μ˜€λŠ˜λ„ μ’‹μ€ν•˜λ£¨ λ³΄λ‚΄μ‹œκΈΈ λ°”λžλ‹ˆλ‹€ γ…Žγ…Ž

 

λ°˜μ‘ν˜•

λŒ“κΈ€