SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 1
ច្េច្ ៀនទ្យី ១
History
PHP RtUv)anpþl;eQµaHCapøÚvkar HyperText Preprocessor vaCaPasaEdltMeNIrkarenAelI ServerEdlCa TUeTA
RtUv)an sresrkñúgbribT HTML b:uEnþmindUcCa HTML page FmµtaenaHeTPHP script minRtUv)anbBa¢Ún eTAeGay
client eday server pÞal;enaHeT vaeFVIkarbBa¢Úneday PHP engine . PHP code EdlzitenAkñúg script GaceRbIedIm,IeFVI
karCamYy Databases, begáItCarUbPaB ,Gan nigbBa©ÚlTinñn½yb¤ EkrERbGtßbTEdlmanenAxagkñúg files b¤ eFVIkar
TMnak;TMngeTAkan; Remote Server RBmCamYynwglT§PaBCaeRcInepSgeTot .
Rasmus Lerdorf KWCamnusSdMbUgEdlGPivDÆn_nUv PHP/FI ehIyRtUv)anmnusSrab;lanGñkeRbIR)as;va .
CMnan;tMbUgénPHP/FI eQaµHfa Personal Homepage Tools/Form InterpreterEdllkçN³CamYldæanKWRsedogeTAnwg
PasaPerl eRBaH)anRbmUlpþMúnUv Perl scripts mkGPivDÆn_enAkñúgGMLúgqñaM 1995 b:uEnþvaenAmankgVHxatCaeRcInenAkñúg
PasaenH dUcCa for loops CaedIm .
PHP/FI 2
enAkñúgqñaM 1997 Rasmus bnþkarGPivDÆn_nUv PHP/FI 2 rhUtmkdl;Ex vicäika qñaMdEdlbnÞab;BI Andi Gutmans
ehIynig Zeev Suraski )anRbTHeXIjnUv PHP/FI cMeBlEdlBYkeKkMBugEsVgrknUvPasaedIm,IGPivDÆn_nUvKMeragbegáIt
E-commerce solution sMrab;sklviTüal½y rbs;BYkeK . BYkeK)aneGaydwgfa PHP/FI BMuTan;manlT§PaB
RKb;RKan;enAeLIyehIyxVHxatnUv lkçN³BiessCaeRcIn . cMnucmYyEdlmankarcab;GarmµN_CageK KW while loops
EdlBYkeKnwgRtUvRbtibtþi .
PHP 3>
Zeev and Andi sMerccitþsresr scripting language eLIgvijb:uEnþBMuvtþman RasmuscUlrYmedIm,IGPivDÆn_nUv
PHP3eLIyehIy)anpþl;nUveQµaHfµIfaHypertext PreprocessoredIm,IbBa¢ak;fa PHPKWCaplitplepSgmYyeTotehIynwg
minRtwmEtykmkeRbIsMrab;EtkargarpÞal; xøÜnenaHeT . Zeev and Andi k¾)anbegáItnUv Extension API Edl API
begáItfµIenHvamanlT§PaBbMeBjnUvkargarCaeRcIndUcCa Accessing databases , spell checkers ehIynwg bec©k
viTüadéT²eTot EdleFVIeGaymankarcab;GarmµN_BIsMNak;GñkGPivDÆn_ CaeRcInmkcUlrYmkñúgKMerag PHP.
enAxN³eBlenaHEdr PHP k¾RtUv)anbeB©jjnUvCMnan;fµIrbs;xøÜnKW PHP 3 enA éf¶TI 3 Ex mifuna qñaM 1998
Edltamkar)a:n;sµan PHP nwgRtUv)antMeLIg RbmaN Cag 50 000 domains b:uEnþCamYytYelxBitR)akd elIkdMbUgrbs;
PHP RtUv)aneKtMeLIgeRcInCagmYylan Domain eTAeTot.
Introduction PHP
This book was uploaded by K-NN E-Book www.k-nn.info
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 2
PHP 4>
enAeRkayqñaM 1998 Zeev nig Andi gakeTABitnitüelIkargar PHP 3 ehIyBYkeKmanKMnitfaBYkeKGacsrsrnUv
script language eLIgvijeGaymanlkçN³l¥RbesIrCagmuneTAeTot kñúgxN³eBlEdl PHP 3 kMBugbnþkareFVIsm<½n§ nig
RbtibtþikarenaH PHP 4 k¾ cab;epþImbegáItnUvKMrUfµI KW “compile first, execute later.” tMNak;kalénkar compile
minRtUv)an complie PHP Script eGayeTACa machine code enaHeT vaCMnYsedaykar compile eTACa byte code
EdleFVI karRbtibtiþkar eday Zend Engine ( Zend mkBIBaküfa Zeev nig Andi ) . viFIsaRsþfµIsMrab;karRbtibtþi script
enHGaceFVIeGay PHP 4 tMeNIrkar)anl¥RbesIreRcInCa PHP 3 ehIyRtUv)andak;bgðajnUv PHP 4 enHkñúg Ex ]sPa qñaM
2002 b:uEnþedaymankarpøas;bþÚrenAkñúgPasaenHCabnþbnÞab;eTIb PHP 4 )anbegáItnUvCMnan;rbs;xøÜn Ca PHP 4.1.0
nwg )anbgðajnUvSuperglobals dUcCa $_GET nig $_POST . Edl Superglobals enHGacykmkeRbIR)as;BI
xagkñúg Functions edaymincaM)ac;eRbI global keyword. rhUtdl;CMnan;cugeRkayrbs; PHP4RtUv)an bgðaj Cacug
eRkaybg¥s;enAéf¶TI27 Ex FñÚ qñaM 2002 .
PHP 5 >
edaymantMrUvkarCaeRcInnUvlkçN³rbs; object-oriented Andi k¾manKMnitsresrnUvObject-Oriented
sMrab;CaEpñkén Zend Engine. Zeev and Andi )ansresrnUvÉksarGMBI
“ Zend Engine II : Feature Overview and Design ” ehIycab;epþImBiPakSaKñaGMBI PHP‟s
eTAéf¶GnaKtEdlkñúgCMnan; PHP 5 mancMnucCaeRcInEdlnwgRtUvEkERb bEnßm b¤ rMelaHecal .
PHP‟s minRtwmEtERbRbYledayGaceGayeRbIR)as;nUvlkçN³ Object-Oriented b:ueNÑaHenaHeT vaEfmTaMg pÞúknUvmux
garfµI²CaeRcInEdlbBa©ÚlCamYymuxgarsMrab; XML ehIyCaBiessenaH KW SimpleXML extension EdleFVIeGay
manPaBgayRsYl kñúgkarsRmbsRmYlCamYyÉksar XML nig SOAP b¤ MySQLi fµI ehIynwg extensions epSg²
eTotEdlCacMnucsMxan;enAkñúg PHP‟s . eKrMBwgfa PHP 5 nwgGackøayCaGñknaMmuxeK enAelITIpSarénkarGPIvDÆn_ web
.

វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 3
ច្េច្ ៀនទ្យី ២
1.អថេរ (Variables) >
VariableKWCaRKwHd¾sMxan;sMrab;PasakMuBüÚT½rvaRtUv)aneKeRbIedIm,IpÞúknUvtMélCabeNþaHGasnñenAeBlEdlRbtibtþikar
script mþg² . variable RtUv)anpþl;tMéleTAeGay enAeBlEdl Script cab;epþImtMeNIrkar b¤ enAeBlGñkeRbIR)as;bBa¢Úl
b¤)anmkBIkarcab;ykTinñn½yBI DatabaseGñkGaceRbIR)as; variable RKb;eBlTaMgGs; enAeBlEdl script cab;epþImtM
eNIrkarCamYyTinñn½y ehIyGñkGacEkERb tMélEdl Variable enaHpÞúkBIkarRbtibtþikar script mYyeTAkan;karRbtibtþikar
rbs;script mYyepSgeTot rhUtdl;eBlEdl script rbs;GñkRtUv)anbBa©b;.
sMrab;Pasa PHP eQµaHrbs; variable RtUvEtcab;epþImedaynimitþsBaØa $ (dollar sign)GñkGacpþl;nUveQµaHrbs;
variable CatYGkSr tMélelx b¤ underscore ( _ ) k¾b:uEnþGñkminGaceRbIGkSrdkXøaCamYyeQµaHrbs; variable enaHeT
.
]TahrN_xageRkamKWCakarpþl;eQµaHeTAeGay variable EdlRtwmRtUv³
$sok ;
$sok_som_neang ;
$_Dara ;
$Chenda22 ;
]TahrN_karpþl;eQµaHeTAeGay variable EdlminRtwmRtUv ³
$123 ;
$*ABC ;
$A+B ;
Variable rbs; PHP GacpÞúknUvRbePTTinñn½yEdlCatMélelx tYGkSr object , arrayBooleans
ehIyral;cMnuHrbs; variable GaceFVIkarpøas;bþÚrRKb;eBlevla . CaTUeTAkarRbkasVariable b¤ karpþl;tMéleTAeGay
variable GñkGacGnuvtþn_nUv statement dUcxageRkam .
$num1 = 5;
$num2 = 8;
karRbkas variable BIr xagelIGñk)aneRbIR)as;nUv assignment operator (=) Edlnwgerobrab;lMGitenAkñúgemeron “
Operator and Expression “ .bnÞab;BIGñk)anpþl;nUvtMéleTA variablerYcral;ehIy GñkGacykvamk eRbIR)as;)an
dUcxageRkam ³
print $num2; vamantMélesµInwgkareRbI print 8; dUcecñHmann½yfa $num2 pÞúktMémø 8
cUrcgcaMfaral;cugbBa©b;énr)aykarN_rbs;PHP nimYy²RtUvEtbBa©b;edaysBaØa ( ; ) semicolon.
2 Data Types >
RbePTxus²KñaénTinñn½yRtUv)aneRbIR)as;nUvcMnYnsrubrbs;GgÁcgcaMepSg²Kña ehIyvaGacRbRBwtþeTAenAeBlGñk
erobcMvaenAkñúgscript rbs;Gñk . manPasakmµviFImYycMnYnTamTareGayGñksresrkmµviFI RbkasnUvRbePT énTinñn½y
Building Block
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 4
BImux variable edayELksMrab;Pasa PHP kareRbIR)as; variable KWmanPaBgayRsYl edayvanwgeFVIkarKNna
nUvRbePTTinñn½yedaysV½yRbvtþienAeBlEdlGñk)anpþl;tMéleTAeGayva.
Standard Data Types
RbePT ]TahrN_ BiBN’na
Integer 5 pÞúknUvtMélelxCacMnYnKt;
Double 3.234 pÞúknUvtMélelxCacMnYnTsPaK
String "hello" pÞúknUvtMélCabnþMúéntYGkSr
Boolean True pÞúknUvtMélBiessKWtrue b¤false
Array emeronTI
Object emeronTI
]TahrN_1
Gettype.php
01: <html>
02: <head><titile>Display Data Type</title>
03: </head>
04: <body>
05:
06: <h2>Using gettype</h2>
07:
08: <?php
09: $testing;
10: Print gettype($testing);// NULL
11: $testing = 5;
12: print gettype($testing); // integer
14: print "<br />";
15: $testing = "five";
16: print gettype($testing); // string
17: print "<br />";
18: $testing = 5.0;
19: print gettype($testing); // double
20: print "<br />";
21: $testing = true;
22: print gettype($testing); // boolean
23: print "<br />";
24: ?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 5
25:
26: </body>
27: </html>
enAeBlEdl variable $testing RtUv)anRbkasenAbnÞat;TI 09 edaymin)anpþl;tMéleTAeGayva
dUcecñHenAeBlEdleRbIR)as; gettype() function edIm,IRtYtBinitü variable enAbnÞat;TI10 enaHGñknwg TTYl)annUv lT§pl
CaGkSr Null . bnÞab;BIenH variable $testing RtUv)anpÞl;nUvtMélCatYelxenAbnÞat;TI 11 KWelx 5 EdlCacMnYnKt; b¤
GñkGacniyay)anfatMélelxEdlKµanek,ósdUecñHlTÞplEdlnwgTTYl)anbnÞab;BIkareRbIR)as;nUv gettype() function
bnÞat;TI12 KW // integercMENkkarpþl;nUvtMél "five" eTAeGay variable $testing enAbnÞat;TI 15 KWCabnþMúéntYGkSr
.enAeBlEdlGñkcg;eFVIkarCamYytMélCa string GñkRtUvEtdak;tMélenaHsßitenAkñúgcenøaH sBaØa ( “ ) Double quotation
mark b¤( „ ) single quotation mark .
tMélCaRbePT double RtUv)anpþl;eTAeGay variable $testing EdlsßitenAbnÞat;TI 18CatMélelx 5.0
EdltMélenHCatMélelxTsPaK b¤ CatMélelxEdlmanek,ós. tMélCaRbePT Boolean RtUv)anpþl;eTAeGay variable
$testing enAbnÞat;TI 21 ehIytMélenHGacmanEtBIrb:ueNÑaHKW true b¤false .
sMKal; ³
PaBxusKñarvakareRbIR)as;nUv(“ ) double quotation mark nig( ‘ ) single quotation mark
Double quotation mark GnuBaØatieGayeyIgeRbIR)as;nUv variable bBa©ÚlCamYy BIeRBaH PHP engine
nwgCMnYsnUvtMélEdlCa variable .sUmBinitüemIl]TahrN_xageRkam-
$name = "Rithya"; >
print "hello, $name"; // hello,Rithya >
RbsinebIGñkeRbIR)as;nUv single quotation mark variable minRtUv)anCMnYsedaytMélenaHeT.
print 'hello, $name'; // hello, $name >
]TahrN_2
Quotation.php
01: <html>
02: <head><title>Single Quotation and Double Quotation mark</title>
03: </head>
04: <body>
05: <h2> Using double quatation and Signle quatation mark</h2>
06:
07: <?
08: $name = "Rithya";
09: print "Hello,$name<br/>"; // Hello,Rithya
10: print 'Hello,$name'; // Hello,$name
11: ?>
12:
13: </body>
14: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 6
3.Displaying Type Information with var_dump()>
gettype() KWCa function EdleRbIedImI,TTYlnUvRbePT variable edayELk var_dump()
eRbIedIm,IR)ab;nUvRbePT variable nig cMnuHrbs;va . eRcInCagenHeTAeTot sMrab;RbePTtMélEdlsµúKsµajdUcCa
arrays nig object var_dump() pþl;eGaynUvBt’manRKb;RbePTEdlmanenAkñúgVariable enaH .
]TahrN_3
Var_dump.php
01: <html>
02: <head>
03: <title>Displaying Type Information with var_dump</title>
04: </head>
05: <body>
06: <h2>using Var_dump</h2>
07:
08: <?php
09: $testing=5;
10: print var_dump($testing);
11: ?>
12:
13: </body>
14: </html>
4.The Cast Operators
PHPpþl;eGaynUvviFIedIm,eFVIkarpøas;bþÚrnUvRbePTTinñn½yedayeRbIR)as;castoperators dUcmanerobrab;kñúg
taragxageRkam³
Operator Changes Type To
(int), (integer) Integer
(float), (real), (double) Floating point
(string) String
(bool), (Boolean) Boolean
(array) Array
(object) Object
]TahrN_5
Casting.php
<html>
<head>
<title>Casting variable</title>
</head>
<body>
<h2>Using Casting to Changing Type</h2>
<?php
$unexpect=3.14;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 7
$holder = (double)$unexpect;
print gettype($holder);
print "--- $holder<br/>";
$holder = (string)$unexpect;
print Gettype($holder);
print "-- $holder<br/>";
$holder = (integer)$unexpect;
print gettype($holder);
print "-- $holder<br/>";
$holder = (Double)$unexpect;
print gettype($holder);
print "---- $holder<br/>";
$holder = (boolean)$unexpect;
print gettype($holder);
print "-- $holder<br/>";
?>
</body>
</html>
5.Operators and Expressions >
Operators KWCanimiµtsBaØaTaMLayNaEdlGñkGaceRbItMélmYy b¤ eRcIn begáItecjCatMélfµImYyeTot
ehIytMélEdlRbtibtþieday operator enaHRtUv)aneKehAfa operand .
Operand KWCatMélEdlcUlrYmCamYy operator EdlCaTUeTA man operand BIrCamYyOperator mYy .
]TahrN_kareRbIoperand BIrCamYy operator edIm,IbegáItecjCatMélfµImYyepSgeTot.
4 + 5 >
4 ehIynig5 KWCa operand EdlRtUv)an operated eday addition operator (+) edIm,IbegáItnUvtMélfµI KW9 . karpþMúnUv
operand nigoperator edIm,IbegáItCalT§pl RtUv)aneKehAfa expression
5.1 The Assignment Operator >
Assignment operators eRbIedIm,Ipþl;nUvtMéleTAeGay variable . dUcEdlGñk)anCYbxagelI assignment
operator RtUv)an initialize variable RKb;eBl vaKWCaGkSr ( = ) .Assignment operator cab;yktMélBI operand
xagsþaMeTAeGay operand xageqVgdUc]TahrN_
xageRkam ³
$name = “ DYCHANDOEUN “ ;
Print $name; >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 8
CaTUeTAxageqVgénAssignment operator eRcInEtCa variable .
5.2 Arithmetic Operators
Arithmetic Operators
Operator Name Example Result
+ bUk ( Addition ) 10+5 15
/ Eck ( Division ) 10/3 3.333333333333
* KuN ( Multiplication ) 10*5 50
% yksMNl;BIplEck ( Modulus ) 10%3 1
- dk ( Subtraction ) 10-2 2
5.3 The Concatenation Operator ( . ) >
Concatenation operator eRbIedIm,IP¢ab; string sMrab; operator mYyenHvaeFVIkarCamYyEt string b:ueNÑaH .
dUecñHral;operand EdlminEmnCa string vanwgconvert eGayeTACa string sUmBinitüemIl]TahrN_³
"hello"." world" karsresrEbbenHvaesµInwgkarsresr "hello world" .
$year = 2007; >
Print "Happy khmer new year_".$year ; >
Variable $year EdlCaRbePT integer RtUv)anbMElgeTACa string " 2007 " mun
eBlEdlvaRtUv)anP¢ab;CamYy string “ Happy khmer new year ” .
5.4 Combined Assignment Operators >
$x = 4; >
$x = $x + 4; // lT§pl $x KW 8
b¤GñkGacCMnYsedaykarsresrdUcxageRkam
$x = 4;
$x += 4; // $ lT§pl $x KW 8
Some Combined Assignment Operators
Operator Example Equivalent to
+= $x += 5 $x = $x + 5
-= $x -= 5 $x = $x – 5
/= $x /= 5 $x = $x / 5
*= $x *= 5 $x = $x * 5
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 9
Some Combined Assignment Operators
Operator Example Equivalent to
%= $x %= 5 $x = $x % 5
.= $x .= " test" $x = $x." test"
5.5 Comparison Operators >
Comparison operators eRbIedIm,IeRboeFobnUv operands TaMgLay edaypþl;nUvtMélRtlb;Ca Boolean (
true or false ) .
]TahrN_edIm,IRtYtBinitütMélEdlmanenAkñúg $x nigCatMélEdltUcCagR)aM GñkGaceRbICamYynwg less than
operator .
$x < 5
RbsinebI $x pÞúktMél elx 4 expression xagelInwgpþl;CatMél true b:uEnþRbsinebI $x pÞúktMélCaelx 7 enaH
expression nwgpþl;nUvtMél false .
Comparison Operators
Operator eQµaH pþl;tMél True RbsinebI ($x KW4)
== smmUl tMélxageqVg esµItMélxag sþaM $x == 5
!= Non-equivalence tMélxageqVg xusBItMélxagsþaM $x != 5
= = = Identical
tMélxageqVg esµItMélxagsþaM ehIy
tMélTaMgBIrRtUvEtmanRbePTdUcKña
$x===5
> FMCag tMélxageqVgFMCag tMélxagsþaM $x > 4
>= FMCag b¤esµI tMélxageqVgFMCag b¤esµItMélxagsþaM $x >= 4
< tUcCag tMélxageqVgtUcCag tMélxagsþaM $x < 4
<= tUcCag b¤esµI tMélxageqVgtUcCag b¤esµItMélxagsþaM $x <= 4
Operator xagelIenHPaKeRcIneRbICamYy integers or double ehIysMrab; operator( == )
KWeRbIedIm,IeRbobeFobtMélEdlCa strings .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 10
5.6 Logical Operators>
Logical Operators
Operator Name Returns True if... Example Result
|| Or Left or right is true
true ||
false
True
Or Or Left or right is true
true ||
false
true
Xor Xor Left or right is true but not both
true xor
true
false
&& And Left and right are true
true &&
false
false
And And Left and right are true
true &&
false
false
! Not The single operand is not true ! true false
Logical operators bMElg operand eGayeTACatMél Boolean rYceFVIkareRbobeFobtMélTaMgenaH .
Or operator b¤( || ) pþl;tMél true RbsinebIoperand xageqVg b¤ xagsþaMNamYymantMél true .
]TahrN_ 1> true || false lT§plKW true .And operator b¤ ( && ) pþl;tMél true enAeBlEdl operand
TaMgBIrmantMél true .
]TahrN_2> true && false lT§plKWfalse .
]TahrN_3> ( $x > 2 ) && ( $x < 15 )
5.7 Increment/Decrement Operators
Increment/decrement operators eRbIedIm,IbegáIn b¤ bnßytMél rbs; variable EdlCa Integer
ehIyCaTUeTAeRbIedIm,Irab; Iteration rbs;loop .
$x = $x + 1; // $x is incremented.
$x += 1; // $x is incremented.
$x++; // $x is incremented
. $x = $x - 1; // $x is decremented.
$x--; // $x is decremented.
$x- = 1; // $x is decremented.
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 11
Operator Name Effect on $var Value of the Expression
$var++ Post-increment $var is incremented by 1
The previous value of
$var
++$var Pre-increment $var is incremented by 1
The new value of $var
(incremented by 1).
$var-- Post-decrement $var is decremented by 1
The previous value of
$var
--$var Pre-decrement $var is decremented by 1
The new value of $var
(decremented by 1).
]TahrN_
$num1 = 5;
$num2 = $num1++; // post-increment, $num2 RtUv)anpþl;nUvtMéledImrbs;$num1
print $num1; // lT§plEdlnwgRtUvbgðajKWtMélrbs; $num1 KW 6
print $num2; // lT§plEdlnwgRtUvbgðajKWCatMéledImrbs; $num1 KW 5
]TahrN_³
$num1 = 5;
$num2 = ++$num1; // pre-increment, $num2 RtUv)anpþl;nUvtMélfµIrbs; $num1
eTAeGay $num2 .
print $num1; // lT§plEdlnwgRtUvbgðajKWtMélrbs; $num1 KW 6
print $num2; // lT§plEdlnwgRtUvbgðajKWCatMélrbs; $num1 KW 6
6.Constants >
CaTUeTA Variables RtUv)aneKeRbIedIm,IpÞúknUvtMél BIeRBaHtMél nig RbePTrbs;vaGac
nwgRtUvpøas;bþÚr)anRKb;eBlevla . RbsinebIGñkcg;eFVIkarCamYytMélEdlminERbrRbYlenAkñúgkar RbtibtþikarkUdrbs;Gñk
GñkGaceRbIR)as;nUvconstant . PHP )anpþl;nUvdefine() function edIm,I
begáItnUv constant .
define("CONSTANT_NAME", 42); >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 12
tMélEdlGñkGacpþl;eTAeGayconstant KWRtUvEtCa tMélelx b¤tYGkSr ehIysMrab;kar
pþl;eQµaHrbs; constant GñkKYrEteRbIGkSrFM . ralkar;eRbIR)as; constant variable GñkRKan;yk eQµaHrbs; constant
enaHmkeRbIb:uEnþminmansBaØa ($) dollar symbol enABImuxenaHeT.
]TahrN_6
constant.php
01: <html>
02: <head>
03: <title>Defining a constant</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
09: define("USER", "Ankor");
10: print "Welcome ".USER;
11: ?>
12:
13: </div>
14: </body>
15: </html>
enAbnÞat;TI 10 eyIg)aneRbIconcatenation operator edIm,IP¢ab;tMélrbs; constant nig
GkSr "Welcome" BIeRBaH PHP engine minmanviFIsaRsþedIm,IEbgEck rvag constant nig string
EdlenAkñúg quotation mark enaHeT.
Ca Default constant KW case sensitive b:uEnþGñkGacpøas;bþÚredayTTYlyknUv argument
TI3Ca boolean mkeRbIkñúg define() function edIm,IkMNt;eGaykareRbIR)as;eQµaH constant Ca
Case insensitive dUcmankñúg]ThrN_xageRkam .
define("USER", "Ankor", true); >
dUecñHGñkGaceRbIR)as; constant edayminmankarxVayxVl;GMBIGkSrtUcb¤FMeLIy .
print User;
print usEr;
print USER;
]TahrN_7
constant2.php
<html>
<head>
<title>Defining a constant</title>
</head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 13
<body>
<div>
<?php
define ("USER", "Angkor",true);
print "Welcome".uSER."<br/>";
print "Welcome".uSeR."<br/>";
print "Welcome".usEr."<br/>";
print "Welcome".uSER."<br/>";
?>
</div>
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 14
ច្េច្ ៀនទ្យី ៣
1. The if Statement
If statement KWCaviFIsaRsþEdleRbIedIm,IRtYBinitüeTAelIkarRbtibtþikarrbs; statement EdlenAbnÞab;va
( GacCa single statement b¤ Ca block of code EdlzitnUvkñúgsBaØa {-------} )
If statement eFVIkarvaytémø expression EdlenAkñúgsBaØa (---) RbsinebI expression rbs; ifpþl;tMél true enaH
statement EdlenAxaeRkamnwgRtUvGnuvtþn_ .
kUdxageRkambgðajBI TMrg;énif statement EdlRtYtBinitüexpression Ca string .
if(expression)
{
// code EdlnwgRtUvGnuvtþn_enAeBlEdl expression pþl;tMél true
}
]TahrN_8
<Html>
<head>
<title> Using if Statement </title>
</head>
<body>
<h2>Using if statement</h2>
<?php
$user="Thanith";
$pwd="123";
If(($user= ="Thanith" && pwd= ="123"))
print "Login successful";
else
print "Login fail !";
?>
</body>
</Html>
kareRbIR)as;comparasion operator (==) edIm,IeRbobeFob variable $user nig tMélCaGkSr" Thanith "
variable $pwd CamYynwgtMél "123" RbsinebItMélEdlRtUveRbobeFobnigtMélrbs; variable
dUcKñaenaH expression nwgpþl;tMél true ehIycode block nwgRtUvGnuvtþn_b:uEnþRbsinebItMélrbs;$user
bþÚreTACa "Romchong" b¤ tMélrbs; $pwd bþÚreTACa "124" ehIytMeNIrkar scripteLIgvij enaH
expression EdlenAkñúg if statement niwgpþl;tMél falseehIyCode block nwgminRtUvGnuvtþn_ Edl
script nwgEbreTAGnuvtþn_nUv else statement CMnYsvij .
else
print "Login fail !";
[[[[[[[
Going With The Flow
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 15
1.1 Using the else if Clause with the if Statement
GñkGaceRbIR)as;nUvTMrg; if/else b¤else/if edIm,IeFVIkarBinitüelI expression muneBlEdl
Script rbs;GñkRtUvGnuvtþn_ nUv default block of code .
if ( expression )
{
// code EdlRtUvGnuvtþn_RbsinebI expression pþl;témø true
}
else if ( another expression )
{
// code EdlRtUvGnuvtþn_RbsinebI expression dMbUgpþl;témø false
// ehIyexpression rbs;va true
}
else
{
// code EdlRtUvGnuvtþn_RbsinebIBMumanexpression NamYy true
}
RbsinebI expression dMbUgminpþl;nUvtMél true enaH block of code dMbUgk¾minRtUv)an Gnuvtþn_Edr else if
cab;epþImeFVIkarCamYy expression rbs;xøÜn RbsinebI expression enHpþl;tMémø True enaH block kUdTI2 nwgRtUvGnuvtþn_
pÞúymkvijkUdEdlsßitenAkñúg else clausenwgRtUvGnuvtþn_CMnYsvij . GñkGaceRbIR)as;else if )anCaeRcIneTAtamkarcg
;)anrbs;GñkehIyRbsinebI Gñkmin cg;eGaymanDefault action eT GñkmincaM)ac;eRbIR)as;else clause enaHeT.
2. The switch Statement >
switch statement KWCaviFIsaRsþEdleRbIedIm,Ipøas;bþÚrlMdab;énkarGnuvtþn_kUdrbs;kmµviFIEdlGaRs½yeTAelI
karvaytMélrbs; expression . kareRbIR)as; if statement CamYy else if GñkGaceRbIR)as; expression)aneRcIn eday
ELk switch eRbIR)as;Et expression mYyb:ueNÑaH .karGnuvtþn_ code xus²KñaKWGaRs½yeTAelIlT§plénexpression
Edlpþl;tMélCa simple typedUcCa ( number , string , Boolean……. l.) .
switch (expression)
{
case exp:
// execute this if expression results in result1
break;
case exp:
// execute this if expression results in result2
break;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 16
default:
// kUdnwgRtUvGnuvtþn_RbsinebIminman expression NadUcnwgexpression rbs;case
}
Expression rbs; switch statement CaTUeTARtUv)aneRbICa variable ehIy coderbs; switch statement
RtUvsresrenAkñúg case statement . ral;tMél expression rbs; casenimYy² RtUv)anykmkepÞogpÞat;CamYy expression
rbs; switch statement RbsinNatMélrbs;case NamYydUcnwg expression rbs; switch statement enaH code block
nwgRtUvGnuvtþn_ bnÞab; mk break statement nwgbBa©b;karGnuvtþn_ switch statement b:uEnþRbsinebIBMuman case expression
NamYydUcnwgswitch expression enaH default statement KWCaGñkGnuvtþn_.
]TahrN_ 9
<Html>
<head>
<title>
Using switch Statement
</title>
</head>
<body>
<h2>Using switch statement</h2>
<?php
$name="Daro";
switch($name)
{
case "Dara":
print " Hello Dara";
break;
case "Many":
print "Hello Many";
break;
case "Daro":
print "Hello Daro";
break;
Default:
print "No one know";
}
?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 17
</body>
</Html>
3. Loops >
Loop statement GaceGayGñkGnuvtþn_nUvkargarmþgehIymþgeTotenAkñúg programrbs;Gñk rhUtdl;vasMerc
lkç½NÐb¤GññkbBa¢aeGaycakecjBI loop .
3.1 The while Statement >
While loops KWCaRbePTmYyén loops . expression rbs;vapþl;CatMél true b¤ false dUecñHRbsinebI
expression pþl;tMélCalT§pl true enaH code block nwgRtUvGnuvtþn_ Edl blockCode sßitenAkñúg loop enaH
RtUv)aneKeGayeQµaHfa iteration .
while ( expression )
{
// do something
}
]TahrN_10
while.php
<html>
<head><title>The While Statement</title>
</head>
<body>
<h2>Using the While Statement</h2>
<?php
$sum=0;$i=1;
$str="";
While ($i<=10)
{
$sum+=$i;
$str= $str."$i+";
$i++;
}
echo substr($str,0,-1)."=$sum";
?>
</body>
</html>
3.2 The do...while Statement >
do..while statement vamanlkçN³Rbhak;RbEhlnwg while statement b:uEnþlkçN³BIrEdlxusKñaBI while
statement KW block code rbs; do while statement Gnuvtþn_muneBlEdl Expression rbs;vaRtUv)an test nig pþl;tMél
true b¤false .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 18
do
{
………………………
// code to be executed
………………………
}
while (expression);
Test expression éndo...while statement RtUvEtbBa©b;eday ( ; ) semicolon. >
]TahrN_11
dowhile.php
<html>
<head><title>The Do While Loop Statement</title>
</head>
<body>
<h2>Using the do while Statement</h2>
</body>
</html>
<?php
$sum=0;$i=1;$str="";
Do
{
$sum=$sum+$i;
$str= $str."$i+";
$i=$i+1;
}
While ($i<=10);
{
$i=$i-1;
echo substr($str,0,-1)."=$sum";
}
?>
3.3 The for Statement >
for ( initialization expression; test expression; modification expression )
{
// code to be executed
}
ral; expression nimYy²EdlmanenAkñúgsBaØavg;Rkckrbs; for statement KWRtUvEbgEckKñaeday semicolon ( ; )
. expression TImYy cab;epþImrab; variable ehIyexpression TI2eFVIkarRtYtBinitülkç½Nrbs;for loop nig expression
TI3begáInb¤bnßynUvcMnYnkarrab; .
]TahrN_12
forloop.php
<html>
<head>
<title>The for Statement</title>
</head>
<body>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 19
<h2>Using for Statement</h2>
<?php
$sum=0;$str="";
for ($i=1; $i<=10; $i++ )
{
$sum+=$i;
$str= $str."$i+";
}
echo substr($str,0,-1)."=$sum";
?>
</body>
</html>
enAeBlEdl program tMeNIrkardl; for loop variable $i RtUv)aninitialize ehIyTest expression
cab;epþImRtYtBinitüeTAelI expression rbs;xøÜn RbsinebIexpression pþl;tMélTrue enaHcode block nwgRtUvGnuvtþn_
bnÞab;mk $i variable eFVIkarbegáIntMélmYyehIytestExpression cab;epþImeFVIkarRtYtBinitüeTAelI expression
rbs;xøÜnsarCafµImþgeTot. RbtibtþikarenHbnþkarGnuvtþn_rhUtdl; test expression pþl;tMél false .
3.4 Breaking Out of Loops with the break Statement >
ral; loop statement KWsuT§EtmanP¢ab;mkCamYynUv test expression EdlGaceGayGñk bBaÄb;va)an b¤
edayeRbIR)as; break statement .
]TahrN_13
break.php
01: <html>
02: <head>
03: <title>the break Statement</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
09:
10: $counter = -5;
11: for ( ; $counter <= 10; $counter++ ) {
12: if ( $counter == 0 ) {
13: break;
14: }
15: $temp = 2000/$counter;
16: print "2000 divided by $counter is.. $temp<br />";
17: }
18: ?>
19:
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 20
20: </div>
21: </body>
22: </html>
eyIg)aneRbIR)as;nUv if statement enAbnÞat;TI 13 edIm,IRtYBinitünUvtMélrbs; variable$counter
RbsinebItMélrbs;vaesµInwgsUnü 0 break statement nwgRtUvGnuvtþn__ EdlRtUvcakecjBIBlock code rbs; for loop
statement ehIyGnuvtþn_nUvstatement EdlenAbnÞab;BIfor statement .
3.5 Skipping an Iteration with the continue Statement >
Continue statement bBaÄb;tMeNIrkarrbs; iteration EdlkMBugGnuvtþn_ bu:EnþminbBaÄb; tMeNIrkarrbs; loop
TaMgRsugenaHeT vanwgbnþeFVIkarCamYy iteration eRkay²bnþeTot rhUtdl; Expression pþl;tMél false b¤ CYb nwg break
statement .
]TahrN_ 14 continue.php
01: <!
02: exam continue statement
03: >
04: <html>
05: <head>
06: <title>Using the continue Statement</title>
07: </head>
08: <body>
09: <div>
10:
11: <?php
12:
13: $counter = -5;
14: for( ; $counter <= 10; $counter++ )
15: {
16: if ( $counter == 0 )
17: {
18: continue;
19: }
20: $temp = 2000/$counter;
21: print "2000 divided by $counter is .. $temp<br />";
22: }
23:
24: ?>
25:
26: </div>
27: </body>
28: </html>
enAbnÞat;TI14eyIg)anCMnYs break statement edaykareRbIR)as; continue statementRbsinebI variable
$counter esµI0 iteration nwgRtUvrMlgkarGnuvtþn_ ehIybnþGnuvtþn_ iteration CabnþeTot .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 21
3.6 Nesting Loops >
]TahrN_15³
nestingLoop.php
01: <html>
02: <head><title>using nested loop</title>
03: </head>
04: <body>
05: <h2>Using nested loop</h2>
06:
07: <?php
08:
09: $j=0;$i=0;
10: for($i=0;$i<=5;$i++)
11: {
12: print "The Value i=".$i."<br/>";
13: for($j=0;$j<=3;$j++)
14: {
15: print "value J=".$j."<br/>";
16: }
17: }
18:
19: ?>
20:
21: </body>
22: </html>
kareRbIR)as;for statement edIm,Ibgðaj table eTAkan;brower .
Nesting Two for Loops
01: <!
02: Nesting loops
03: >
04: <html>
05: <head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 22
06: <title>Nesting Two for Loops</title>
07: </head>
08: <body>
09: <div>
10:
10: <?php
11:
12: print "<table border="1">n";
13: for ( $y=1; $y<=12; $y++ )
14: {
15: print "<tr>n";
16: for ( $x=1; $x<=12; $x++ )
17: {
18: print "t<td>";
19: print ($x*$y);
20: print "</td>n";
21: }
22: print "</tr>n";
23: }
24: print "</table>";
25:
26: ?>
27:
28: </div>
29:
30: </body>
31: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 23
ច្េច្ ៀនទ្យី ៤
1.What is Functions ?
Function KWCabnþMúén block code EdlGñkbegáIt ehIyGnuBaØatieGayGñkehA ykmkeRbI enAkñúg script rbs;Gñk
. enAeBlEdlGñkehA function kUd EdlenAxagkñúgnwgRtUvGnuvtþn_ ehIyGñkk¾Gac bBa¢ÚntMéleTAeGay function b¤
TTYltMélBIfunction mkvij.
1.1 Calling Functions >
Function manBIrRbePTKW Function EdlmanRsab; P¢ab;mkCamYynwgPasakmµviFI nigFunction
EdlGñkbegáIteLIgedayxøÜnÉg . enAkñúgPasa PHP man built-in function CaeRcInEdlpþl;nUvPaBgayRsYlsMrab;
karsresrkUdrbs;Gñk.
1.2 Defining a Function >
GñkGacbegáIt function edayeRbI function statement function function_name( $argument1,
$argument2 )
{
//
}
RbsinebIfunction rbs;GñktMrUveGayman argument cab;BIBIreLIgeTA GñkRtUvEtEckvaedayeRbIR)as;sBaØa
comma( , ) EdlCaTUeTA argument TaMgenaHKWCa variable ehIytMélrbs;vanwgRtUvpþl;eGayenAeBlEdl function
RtUv)anehA.
]TahrN_16
Declaring a Function
<html>
<head>
<title>Declaring a Function</title>
</head>
<body>
<?php
function bigsum()
{
$sum=0;
for ($i=1; $i<=10; $i++ )
{
$sum+=$i; >
$str= $str."$i+";
}
echo substr($str,0,-1)."=$sum";
}
bigsum();
?>
</body>
Function
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 24
</html>
lT§plEdlbgðajenAelIbrowser KWCa string éntYrGkSr1+2+3+…………+10 = 55]TahrN_xagelIenHKW
CakarbegáItnUv function mYyeQµaHfa bigsum()EdlCa function minmannUv Arguments enaHeT .sMrab;]TahrN_TI 20
eyIgnwgbegáIt function EdleRbIR)as; argument .
]TahrN_ 20
01: <html>
02: <head>
03: <title>Declaring a Function</title>
04: </head>
05: <body>
06
07: <?php
08:
09: function bigsum($count)
10: {
11: $sum=0;
12: for($i=1; $i<=$count; $i++ )
13: {
14: $sum+=$i;
15: $str= $str."$i+";
16: }
17: echo substr($str,0,-1)."=$sum";
18: }
19:
20: bigsum(10);
21:
22: ?>
23:
24: </body>
25: </html>
1.2.1 Returning Values from User-Defined Functions >
enA]TahrN_xagelIeyIgTTYl)annUvlT§plCa string enAelI browser edaykareRbIR)as; bigsum()
function . function rbs;GññkGaceFVIkarpøas;bþÚrtMélEdlGñk)anpþl;eGayb¤ maneBlxøHGñknwgcg;eGay function
pþl;nUvtMélfµIeGayGñk bnÞab;BIGñk)anpþl;tMéleTA»óva.
Function mYyGacTTYl)antMéledaykareRbIR)as;nUv returnstatement CamYynwgtMélEdlRtUvbBa©ÚnRtlb;
eTAkan;function.return bBaÄb;Rbtibtþikarrbs; function ehIybBa¢ÚntMélRtlb;eTAvijenAeBlEdl function
RtUv)anehAmkeRbI.xageRkamKWCa]TahrN_énkarbegáIt function Edl return tMélBIplbUlcMnYnBIrtMél .
]TahrN_ 21
01: <html>
02: <head>
03: <title>A Function That Returns a Value</title>
04: </head>
05: <body>
06:
07: <?php
08
09: function addNums($num1,$num2)
10: {
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 25
11: $result = $num1 + $num2;
12: return $result;
13: }
14: print addNums(3,5);
15:
16: ?>
17: </body>
18: </html>
addNums() Function RtUv)anehAykmkeRbIR)as;CamYynwgargument cMnYnBIrEdlCatMélelx 3 nig elx 5
EdltMélTaMgenHRtUv)anrkSaTukenAkñúg variable $num1 nig $num2addNums function eFVIkarKNnanUvplbUként
MélEdlrkSaTukenAkñúg variable TaMgBIrehIypþl;CalT§pleTAeGay variable $result .Gñkk¾Gac return
tMéledaykarehA function déTeTot)anpgEdr return ( another_function( $an_argument ) );
2. Variable Scope
Variable EdlRbkasenAxagkñúg function KWGaceRbIR)as;)anEtenAxagkñúg function enaHb:ueNÑaH
mann½yfaminGaceRbIR)as;)anenAxageRkAfunction b¤enAkñúg function déTeTot .
sMrab; project FM²vaGacCYyGñkBIeRKaHfañk;énkarEkERbtMélEdlmanenAkñúg variableeBlEdlGñkRbkas
variable BIrehIymaneQµaHdUcKña nigzitenAkñúgfunction epSg²Kña .
xageRkamKWCa]ThrN_ sþIBIkarbegáIt variable mYyenAkñúg function ehIyBüayamykVariable enaHmkbgðajelI
browser BIeRkA function .
cMNaM³ VariableEdlbegáItenAxagkñúg function minGaceRbIR)as;BIxageRkAfunction )anenaHeT.
]TahrN_ 22³
01: <html>
02: <head>
03: <title>Local Variable Unavailable Outside a Function</title>
04: </head>
05: <body>
06: <div>
07:
08: <?php
10:
11: function test()
12: {
13: $testvariable = "this is a test variable";
14: }
15: print "test variable: $testvariable<br/>";
16:
17: ?>
18: </div>
19 </body>
20: </html>
Gñknwg)aneXIjnUvlT§plén]TahrN_xagelI EdltMélrbs; variable $testvariableminRtUv)anbgðajenaHeT
BIeRBaHBMuman variable NamYyRtUv)an)anbegáItenAxageRkAfunctiontest() enaHeT. KYrcMNaMfakaryk variable
Edlminman mkeRbIR)as;KWminmanPaB error eLIy.müa:gvijeTotvariable EdlRbkasenAxageRkA function
KWminGacykmkeRbIkñúgfunction edaysV½yRbvtþienaHeT.
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 26
2.1 Accessing Variables with the global Statement >
maneBlxøHGñkRbEhlCaRtUvkareRbIR)as; variable enAkñúg function rbs;GñkedayBMutMrUv
eGaymankarbBa¢ÚntMéltam argument enaHeT . xageRkamKWCa]TahrN_EdleRbIR)as;nUv
global statement edIm,IeRbIR)as;nUv variable EdlRbkasxageRkA function .
]TahrN_23³
01: <html>
02: <head>
03: <title>The global Statement</title>
04: </head>
05: <body>
06:
07: <?php
08:
09: $lottery=42;
10
11: function lotteryToday()
12: {
13: global $lottery;
14: print "Lottery today is $lottery<br />";
15: }
16:
17: lotteryToday();
18: ?>
19: </body>
20: </html>
enAbnÞat;TI 13 én]TahrN_TI23 eyIg)aneRbIR)as;nUv global BImux variable $lotteryEdl)anRbkasenAkúñg
function lotteryToday() edIm,IsMedAeTAkan; global variable $lottery Edl)anRbkasenAxageRkA function enAbnÞat;TI
09 .
GñkRtUvEteRbIR)as;nUv global statement enAral; function EdlGñkcg;eRbIR)as;nUv global variable.
GñkKYrRbugRby½tñpgEdrenAeBlEdlGñkpþl;tMéleTAeGay variable $lottoeryenAkñúg function BIeRBaH $lottery
nwgeFVIkarpøas;bþÚrtMélrbs;xøÜnTaMgGs;enAkñúg script rbs;Gñk .Gñkk¾GacRbkas variable CamYy global statement
)aneRcInkñúgeBlEtmYy)anpgEdr edaykarEcknUvvariable nimYy²edaysBaØa ¬,¦comma.
]TahrN_³ global $var1, $var2, $var3;
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 27
ច្េច្ ៀនទ្យី ៥
1. What Is an Array?
Gñkk¾)ansÁal;rYcmkehIyGMBI variable EdlRtUveKeRbIedIm,IpÞúknUvtMélepSg² . edaykareRbIR)as; variable
Gñkk¾GacbegáItCa script eGayRbtibtþikar b¤ bgðajCaBt’manepSg²enAral;eBlEdlGñktMeNIrkarva b:uEnþKYreGay
esaksþay edayGñkGac rkSaTuknUvtMélEtmYyb:ueNÑaHkñúgeBlEtmYy nigkñúg variable mYy.
Array KWCa variable BiessEdlGnuBaØateGayGñk pÞúknUvtMél)aneRcInenAkñúg variablemYy .
ral;tMélnimYy²RtUv)anrkSaTukenAkñúg index rbs; array EdlGac Caelx b¤ Ca tYGkSr . Ca default Faturbs; array
EdlCa index KWcab;epþImBIelx 0 . ehtuGVI)anCaRtUveRbIR)as; array ?
RbsinebIGñkmantMélcMnYn 5 EdlRtUvrkSarTuk enaHGñkR)akdCaRtUvbegáIt variable cMnYnR)aMpgEdrArray KW flexible
eRBaHvaGacpÞúktMél)anBIrb¤ BIrry tMél edayBMumankaregáItnUvvariablefµIeTotehIy array k¾GaceGayGñkeFVIkarCa
mYytMélrbs;va )anya:ggay dUcCa kar loop Faturbs; array nimYy² b¤ tMrabFaturbs;vaeTAlMdab;énelxerog b¤
CatYGkSr eTAtamkarkMnt;enAkñúg system rbs;Gñk . xageRkamKWCakarbgðajnUvFaturbs; users array EdlmanFatuTI4
Ca index TI3énusers .
The Elements in the users Array
Index Number Value Which Element?
0 Sok First
1 Sao Second
2 Setha Third
3 Mesa Fourth
PHP k¾)anpþl;nUvlT§PaBedIm,IerobcMnUv indexed rbs;array edaykareRbIR)as;TaMg elx nig GkSrpgEdr.
2. Creating Arrays >
GñkGacbegáItnUv array variable edayeRbiviFIBIrya:gKW kareRbIR)as;array() construct b¤ kareRbIR)as;nUvsBaØa square
brackets ( [ ] ) .
2.1 Defining Arrays with the array() Construct>
array()construct vamansar³RbeyaCn_enAeBlEdlGñkcg;pþl;tMéleRcIneTAeGay array kñúgeBlEtmYy.
xageRkamKW]TahrN_énkarbegáIt array mYyEdlmaneQµaHfa $users ehIyeyIg)anpþl;tMélCa string cMnYnbYn
tMéleTAeGayva .
$users = array ("Sok", "Sao", "Mata", "Mesa");
LÚvenHGñkGacykFaturbs;$users mkeRbIR)as;edaykareRbIR)as; index rbs;array
print $users[2];
Array
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 28
lT§plén]TahrN_xagelInwg bgðajCaGkSr Mata Edl index rbs;vaehIyRtUv)andak;enAcenøaH square
brackets ( [2] ) bnÞab;BIeQµaHrbs; array ( $users ) .
2.2 Defining or Adding to Arrays with the Array Identifier>
GñkGacbegáIt array fµI b¤ bEnßmtMéleTAeGay array )anedaykareRbIR)as;nUv array Identifier .
array identifier KWCabnþúMén squre brackets nig index rbs;va Caelx b¤ CaeQµaH.xageRkamCa ]TahrN_énkarbegáIt
$users array edayeRbIvIFIsaRsþmYyepSgeTot .
$users[] = " Sok";
$users[] = " Sao";
$users[] = " Dara";
$users[] = " Mesa";
]TahrN_xagelIminTamTareGayGñkdak;nUvtMélelxEdlCa index enAcenøaH square Brackets enaHeLIy
eRBaH PHP nwgpþl;tMél index edaysV½yRbvtþieTAeGay array . müa:gvijeTotGñkk¾Gacdak;nUvtMélCa index rbs;
array )anpgEdr b:uEnþminmankarKaMRTeGayeFVIEbbenHenaHeTsUmBinitüemIl karsresrkUdxageRkam³
$users[0] = "Phanit"; >
$users[200] = "Ratana";
Array xagelImanFatuRtwmEtBIrb:ueNÑaH b:uEnþ index cugeRkayrbs;vaKWCa index TI200 PHP nwgminkMnt
tMélFatueTAeGay index EdlenAcenøaHenaHeLIy EdleFVIeGaymankarPan;RcLMenAeBlEdlcg;BüayamykFatu
Edlmankñúg array enaHmkeRbI xN³eBlEdlGñkcg;eRbInUv Faturbs;va NamYyeTAtamcitþrbs;Gñk. sMrab;karbegáIt array
GñkGaceRbInUv array() contstructrYceRbInUvarray identifier edIm,IbEnßmnUvFatufµIeTotk¾)an .
sUmBinitü]TahrN_xageRkam³
$users = array ("Sok", "Sao", "Mata", "Mesa"); >
$users[] = "Menear"; >
3. Populating an Array with array_fill() >
RbsinebIGñkcg;dak;nUvtMélCa default enAcenøaHén index array enaHGñkRbEhlCaeRbInUv array() function
dUcxageRkam .
$member = array ("cambodia", "cambodia", "cambodia","cambodia "); >b¤ GñkGaceRbIR)as;nUv array
müa:geTotdUcCa
$member[] = "Cambodia"; >
$member[] = "Cambodia"; >
$member[] = "Cambodia";>
$member[] = "Cambodia"; >
PHP )anpþl;nUv function edIm,IedaHRsaynUvbBaðaenHedayeRbInUv array_fill() function EdltMrUveGayGñkpþl;nUv
arguments cMnYn3sMrab;function enH TI1KWCatMél index Edlcab;epþIm
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 29
TIBIKWCa cMnYnFatuEdlGñkcg;)anehIy argument TI3KWCatMélEdlGñkRtUvpþl;eGayCaFaturbs;Array .
edaykareRbIR)as;nUv array_fill() function GñkGacsresrnUvbMENkkUdxagelIeLIgvij dUcxageRkam³
$member = array_fill( 0, 4, "Cambodia" ); >
]TahrN_³ 24
<?
$member = array_fill(0,4,"Cambodia");
$member[] = "Malaysia";
print $users[2];
?>
4. Associative Arrays >
Assosciate array KWCa array EdleRbIR)as;nUv index CaGkSrenA cenøaH squqre braketsGñkGacbegáItnUv
assosciate array eday array construct( array() )b¤array identifier (array[])
]TahrN_
$character = array("name" => "Sok", >
"occupation" => "Student",
"age" => 12,
"Adr" => "Phnom Pehn" );
LÚvenHeyIgGaceRbIR)as;nUvFatuarray rbs;$character dUcxageRkam³
print $character['occupation']; >
keys EdlenAkñúg assosciate array KWCa string dUecñH engine nwgbgðajr)aykarN_ error RbsinebI keys én array minman
quoted . dUecñHGñkKYrEteRbInUv quotation marks enAeBlEdlGñkeRbIkeys énarray Ca string .
print $character[occupation]; // minRtwmRtUv
print $character["occupation"]; // RtwmRtUv
RbsinebI key RtUvpÞúkenAkñúg variable enaH GñkmincaM)ac;RtUveRbI quotation mark enaHeLIy .
$occ = "occupation"; >
print $character[$occ]; // RtwmRtUv
4.1 Directly Defining or Adding to an Associative Array >
GñkGacbegáIt b¤ bEnßm eQµaH¼tMél eTAeGay associate array edaykarpþl;nUvtMéleTAeGayeQµaHénFaturbs;
array dYcxageRkam .
$character["name"] = "sok"; >
$character["occupation"] = "Programmer"; >
$character["age"] = 30; >
$character["address"] = "Phnom Penh";>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 30
5. Getting the Size of an Array >
count() function pþl;nUvcMnYnFaturbs; array Edlman bMENkkUdxageRkameyIg)aneRbIR)as; nUv count()function
edIm,IykFatucugeRkayénarray $users mkeRbI.
$users = array ("Sambath", "Ratana", "Davy", "Ryda" ); >
print $users[count($users)-1]; >
]TahrN_26
<html>
<body>
<head>
<title>Getting size of array</title>
<body>
<h2>Getting size of array</h2>
<?php
$users[]="Sok";
$users[]="Som";
$users[]="Mom";
$users[]="Mab";
print "<br/>".count($users);
?>
</body>
</html>
cMNaM³count() pþl;tMéléncMnYnsrubrbs;Fatu array minEmnCatMélén index cugeRkayenaHeT.
]TahrN_xageRkamenHKWkarbegáIt array edaykarpþl;nUv index eTAeGay array edayxøÜnGñk
$users[35] ="Sok";
$users[52] ="Som";
$users[890] ="Mom";
$users[52]="Mab";
count() enAEtpþl;nUvcMnYnsrubénFatu array dEdl KWmancMnYn4 Fatu . ehIyGñkk¾GacTTYlnUv
Faturbs; array cugeRkay)anedaykareRbInUv end() function EdlTamTarRtwmEt argument
mYy b:ueNÑaH . ]TahrN_ print end($users);
6. Looping Through an Array >
foreach statement KWCaviFIsaRsþmYyya:gRbesIredIm,Iloop ral;FatunimYy²EdlmanenA kñúg array .
GñkGaceRbIR)as;nUv foreach statement dUcxageRkam ³
foreach( $arr as $temp )
{
//...>>>>>>>>>>
}>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 31
$arr KWCa array EdlGñkRtUv loop ehIy $temp KWCavariableEdlGñknwgRtUvrkSarTukCabeNþaHGasnñ nUvFatunimYy²
kñúgRKa loop . kUdxageRkamKWCakarbegáIt array mYyehIyeyIg eRbI foreach statement edIm,IykFatunimYy²mk
bgðajelIbrowser .
]TahrN_26
<html>
<head>
<title>Looping throught array</title>
</head>
<body>
<h2>Looping througth array</h2>
<?php
$users = array ("Sok", "Som", "Mab", "Mab" );
foreach ( $users as $val )
{
print "$val<br />";
}
?>
</body>
</html>
]TahrN_ 27
<html>
<head>
<title>Looping throught array</title>
</head>
<body>
<h2>Looping througth array</h2>
<?php
$users[]="Sok";
$users[]="Som";
$users[]="Mom";
$users[]="Mab";
foreach( $user as $val )
{
print "$val<br/>
}
?>
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 32
6.1 Looping Through an Associative Array >
edIm,IeRbIR)as;nUv foreach statement CamYy assosciat array TaMg keys nig values GñkGaceRbIR)as;CamYynwg
foreach statement dUcxageRkam ³
foreach( $arr as $key=>$value ) >
{
//...>>
}
$arr KWCa array EdleyIgnwgRtUv loop ehIy $key KWCa variable EdlpÞúknUv key nimYy²CabeNþaHGasnñ ehIy
$val KWCa variable EdlpÞúknUv value rbs;array nimYy²CabeNþaHGasnñkñúgRKa loop mþg² .
]ThrN_ 28
01: <html>
02: <head>
03: <title>Looping thought associate array</title>
04: </head>
05: <body>
06: <h2> Looping thought associate array</h2>
07:
08: <?php
09:
10: $character = array ("name" => "Sao",
11: "occupation" => "Student",
12: "age" => 12,
13: "Adr" => "Phnom Pehn");
14:
15: foreach ( $character as $key=>$val )
16: {
17: print "$key = $val<br />";
18: }
19:
20: ?>
21:
22: </body>
23: </html>
ArrayEdl)anbegáItenAbnÞat;TI11 ehIyeRbIR)as;nUv foreach statement enAbnÞat;TI 15
edIm,I loop nUvFatuEdlCatMél nig key rbs;va . ral; key nimYyRtUv)anpÞúkenAkñúg variable Edl
pþl;eQµaHeGayfa $key nig ral; value nimYy²RtUv)anpÞúkenAkñúg variable Edlpþl;eQµaHfa$val
ehIyRtUv)anbgðajCalT§pleTAkan;browser enAbnÞat;TI17 .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 33
7. Joining Two Arrays with array_merge() >
array_merge() mantYnaTIpÁMúnUvFaturbs; array BIr b¤ array eRcInbBa¢ÚlKña rYcpþl;Ca Array
fµImYyeTotEdlCabnþMúénFatu array TaMgGs;enaH. ]TahrN_xageRkamKWCa]TahrN_énkarbegáItnUv array BIr KW
array $arr1 nig array $arr2 ehIyeFVIkarbBa©ÚlKñarvagFatuén array TaMgBIrrYcpþl;tMélTaMgenaHeTAeGay
$arr3 bnÞab;mk loop ral;FatuEdlmanenAkñúg $arr3 .
]TahrN_ 29
array_merge.php >
<html>
<head>
<title>Joining Two array with array_merge()</title>
</head>
<body>
<h2>Using array_merge()</h2>
<?php
$arr1 = array("a", "b", "c");
$arr2 = array(1,2,3);
$arr3 = array_merge( $arr1,$arr2 );
foreach ( $arr3 as $val )
{
print "$val<br />";
}
?>
</body>
</html>
$arr3 array pÞúknUvral;FatuEdlmanenAkñúg $arr1 nig $arr2 array . foreach
statement
nwgbgðajnUvbnþMúénFatu array ( 'a', 'b', 'c', 1, 2, 3 ) CamYynwg <br/> enAcenøaHFatunimYy²
.
8. Adding Multiple Variables to an Array >
array_push()TTYlyknUv array nig tMélepSgBI parameters EdltMélTaMgenaHKWCaFatuEdlnwgRtUvbEnßmeTAeGay
array . array_push() function minmanlkçN³dUc array_merge()enaHeT BIeRBaH array
EdlbBa¢ÚneTACa argument dMbUgnwgRtUvERbRbYl ehIy array_push() nwg pþl;mkvijnUvtMélsrubTaMgGs
;EdlmanenAkñúg array enaHvij .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 34
]TahrN_ 30
01: <html>
02: <head><title>Adding Muliple variables to an Array</title></head>
04: <body>
05:
06: <?php
07:
08: $arr1 = array ("a", "b", "c");
09: $total = array_push( $arr1,1,2,3);
10: print "There are $total elements in $arr1 ";
11:
12: foreach ( $arr1 as $val )
13: {
14: print "$val<br/>";
15: }
16:
17: ?>
18:
19: </body>
20: </html>
LÚvenH $arr1 )anbEnßmnUvFatuCa integer cMnYnbIFatu Edl)anmkBIkareRbIR)as;nUv array_push() function
dUecñH $arr1 pÞúknUvtMélsrubcMnYn6 FatuehIyRtUv)anbgðajnUvFatunimYy²eTAkan; browser edaykUdEdlmanenAkñúg foreach
statement .
cMNaM³eyIg)aneRbInUv backslash eBlEdl print Ca string "------$arr1" enAbnÞat;TI10
RbsinebIGñkeRbInUv nimitþsBaØaenABImuxBakü b¤ XøaNamYyenaH PHP nwgbBa©ÚlCatMéleTAeGayeTAtameQµaH variable .
]TahrN_ xagelIeyIgcg;bgðajnUv string '$arr1' EdlminEmnCatMélrbs; variable enaHeT dUecñHedIm,I print nUv
special character ($) eyIgRtUvEteRbInUv backslash ()
enABImux . RbsinebIGñkcg;bEnßmFatueTAeGay array ehIyCaFatudMbUgeTotenaH GñkGaceRbIR)as;CamYynwg
array_unsift() .
]TahrN_ 31
<html>
<head>
<title>Using array_unsift() </title>
</head>
<body>
<h2>Using array_unsift()</h2>
<?php
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 35
$arr1 = array ("a", "b", "c");
$total = array_unshift( $arr1, 1, 2, 3 );
print "There are $total elements in $arr1 ";
foreach ( $arr1 as $val )
{
print "$val<br/>";
}
:
?>
</body>
</html>
LÚvenH$arr1 array pÞúknUvtMél 1, 2, 3, "a", "b", "c" .
9. Removing the First Element of an Array with array_shift() >
array_shift() mantYnaTIykecjnUvFatuTImYyén array .sUmBinitü ]TahrN_xageRkam³
]TahrN_ 32
<html>
<head>
<title>Remove first array element with array_shift()</title>
</head>
<body>
<h2>Using array_shift()</h2>
<?php
$user=array("M","U","T","H");
$total=count($user);
echo "Before use array_shift() threre are $total element<br/>";
foreach($user as $val)
{
echo "$val <br/>";
}
array_shift($user);
$total=count($user);
echo "after use array_shift() there are $total element</br>";
foreach($user as $val)
{
print "$val <br/>";
}
?>>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 36
</body>
</html>
10. Slicing Arrays with array_slice() >
array_slice() GnuBaØateGayGñkTajykcMnYnénFatu array EdlTamTareGayGñkpþl;nUv
argument cMnYnbI TImYyKWCa array variable TI2CaTItaMEdlRtUvcab;epþImyk nigTIbI KWCacMnYnFatu rbs; array
EdlRtUvkarehIy argument TIbIenHKW (optional) RbsinebIGñkmineRbInUv argument enHeT array_slice()
nigcab;yknUvFatuTaMgGs;én array cab;BITItaMgEdlGñk)anpþl;CatMélenA kñúgargument TI1mk.
]TahrN_ 33
<html>
<head><title>Using array_slice()</title>
</head>
<body>
<h2>Using array_slice()</h2>
<?php
$first = array ("a", "b", "c", "d", "e", "f");
$second = array_slice($first, 2, 3);
foreach ( $second as $val )
{
print "$val<br />";
}
?>
</body>
</html>
kUdEdlbegáItenA]TahrN_33 nwgbgðajnUvlT§pl 'c', 'd', nig 'e' EdlCaFaturbs;
$secend bnÞab;BIeRbInUv array_slice() edayykFatuTaMgGs;rbs; $first .
11. Sorting Arrays >
11.1 Sorting Numerically Indexed Arrays with sort() >
sort() TTYlyknUv argument mYyEdlCa array ehIyeFVIkartMerobvaeTAtamlMdab;éntY GkSrb¤BItUceTAFM
]TahrN_ 34 KWCakarbegáIt array edaypþl;nUvtMélCa string eTAeGaybnÞab;mkeyIgeRbI sort()
edIm,ItMerobFatuTaMgenaHBI A-Z b¤ BItUceTAFM rYcbgðajCalT§pleTAkan; Browser .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 37
sUmBinitükñúg]TahrN_ 34
<html>
<head><title> sorting array with sort() function</title>
</head>
<body>
<h2>Using sort() function </h2>
<?php
$s_array = array ("Bayon", "Taprom", "Angkor", "Presh vihear");
sort( $s_array );
foreach ( $s_array as $var )
{
print "$var<br />";
}
?>
</body>
</html>
Gñkk¾Gacpøas;bþÚrnUvlMdab;énkartMerobFaturbs; array BIlMdab; tUceTAFM b¤ BIlMdab;FM eTAtUcvijedaykareRbInUv
rsort(). sUmkMuBüayameRbIsort()b¤rsort() CamYy associate array BIeRBaH vanwgeFVIeGayGñk)at;bg;nUv key rbs;array .
11.2 Sorting an Associative Array by Value with asort() >
assort() TTYlyk argument EdlCaRbePT associate array ehIyeFVIkartMerobtMél rbs; array enaHBI A-Z b¤
CatMélelx BItUceTAFM GaRs½yeTAelIRbePTéntMél .
]TahrN_35
<html>
<head><title> sorting an associate array by value with assort() </title>
<head>
<body>
<h2>sorting an associate array by value with assort()</h2>
<?php
$first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1);
echo "<b>an associate Array before use asort </b> <br/>";
foreach ( $first as $key => $val )
{
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 38
print "$key = $val<br />";
}
echo "<b>an associate Array after asort </b><br/>";
asort( $first );
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
?>
</body>
<html>
sMrab;karbþÚrlMdab;énkartMerobBItUceTAFM b¤ BIFMeTAtUcGñkGaceRbIrnUv arsort() .
11.3 Sorting an Associative Array by Key with ksort() >
ksort() TTYlnUv argument EdlCa associate array ehIyeFVIkartMerobtMél rbs;va nimYy²eTAtamlMdab;BI A-
Z b¤ Caelx BIFMeTAtUc edayGaRs½yeTAelI key rbs;array enaH .
]TahrN_36
<html>
<head><title> sorting an associate array by key with assort() </title>
<head>
<body>
<h2>sorting an associate array by key with kssort()</h2>
<?php
$first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1);
echo "<b>an associate Array before use ksort </b> <br/>";
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
echo "<b>an associate Array after use ksort </b><br/>";
ksort( $first );
foreach ( $first as $key => $val )
{
print "$key = $val<br />";
}
?>
</body>
<html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 39
Gñkk¾Gacpøs;bþÚrlMdab;énkartMerobBIFMeTAtUv b¤BI Z-A vijedayeRbIkrsort() .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 40
ច្េច្ ៀនទ្យី ៦
1. What Is an Object ?
Object KWCa bNþúMén variables nig functions EdlzitenAkñúg template BiessmYyEdl eKehAfa class .
object lak;nUvtMeNIrkarEdlmanenAxagkñúg BIkareRbIR)as;va edaypþl;Ca Interface sMrab;eGayGñkbBa¢ÚnnUv
bBa¢aredIm,ITTYlBt’manRtlb;mkvij . interface TaMgenaHKWCa Function BiessEdleKeGayeQµaH methods ehIyral;
methods TaMgGs;én object KWRtUvEt Access eTAkan;special variable ehAfa properties.
KuNsm,tþirbs; object-oriented code KWpþl;nUvkarkat;bnßykarsresrkUd dEdl²BIeRBaH class Edl)an
begáItCa object manPaBgayRsYlykeTAeRbIR)as;BI project mYyeTAkan;Project mYyepSgeTot .
bEnßmBIenHvamanlT§PaBbegáIt nUv child classes Edl inherit ehIynwgOverride nUvlkçN³epSg²BI parents class .
2. Creating an Object
edIm,IbegáIt object mYyGñkRtUvEterobcMnUv template mYyedIm,IeGayvaGac instantiated Edl template enHKWCa
class enAkñúgPasa PHP edIm,IRbkas class mYyGñkRtUvEteRbI class Keyword .
class Person
{
// a very minimal class
}
Person class KWCamUldæand¾sMxan;mYyEdlGñkGac instantiate ral;tMélnimYy²BIPersonObject . edIm,IbegáIt
instance mYyénobject GñkRtUvEteRbInew statement .
$obj1 = new Person(); >
$obj2 = new Person(); >
print "$obj1 is an ".gettype($obj1)."<br />"; >
print "$obj2 is an ".gettype($obj2)."<br />"; >
GñkGac test nUv $obj1 nig $obj2 CamYynwg gettype() function . gettype function TTYltMélVariable
nimYy²ehIypþl;Ca string mkvijEdlR)ab;GñkGMBIGVIEdlGñkkMBugEteFVIkarCamYy .
3. Object Properties
Object Edl access eTAkan; special variable RtUv)aneKehAfa properties . GñkGacRbkasnUv special
variable TaMgenaH)anenARKb;TIkEnøgTaMgGs;én class b:uEnþedIm,IeGaymanPaBgayRsYlGñkKYrEtRbkas;vaenAxagelI .
sMrab;property mYyvaGacCa value b¤Ca array b¤CaObject epSg² .
class Person >
{
var $name = "Vichet"; >
} >
[[
Object
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 41
eyIg)an declared nUv variable CamYynwg var keyword EdlenHKWCaviFIsaRsþEtmYyKt;edIm,I declare nUv property
mYyenAkñúgPasa PHP 4 eyIgnwgeXIjBIlkçN³bEnßmrbs; PHP 5 enA]TahrN_eRkay²eTot .
dUecñHRbsinebIGñkcg;sresrkUdeGay compatible CamYy PHP 4 enaH GñkRtUvEteRbIvar keyword.
LÚvenH Person objet Edl)anbegáItKWmanpÞúknUv property mYy EdleGayeQµaHfa $name
CamYynwgtMélrbs;vaKW "Vichet" . GñkGac access nUv property enH BIxageRkA object
nigeFVIkarpøas;bþÚrtMélrbs;vaedayeRbI]TahrN_37.
<?
class Person >
{
var $name = "Vichet"; >
}
$obj1 = new Person(); >
$obj2 = new Person(); >
$obj1->name = "Soporn"; >
print "$obj1->name<br />"; >
print "$obj2->name<br />"; >
?>
( -> ) operator enHGnuBaØateGayGñkeFVIkar access b¤ pøas;bþÚrnUvtMélrbs; propertiesénObject .
eyIg)anpþl;nUvtMél "Soporn" eTAeGay $name property tamry³ $obj1->name .
4. Object Methods >
Method KWCa function Edl defined enAkñúg class . RKb; object Edl)an instantiatedBI class EtgEtman
method‟s Canic© eyIgnwgbEnßmnUv method mYyeTAeGayPerson class enA
]TahrN_38.
01: <?php
02:
03: class Person
04: {
05: var $name = "Vichet";
06:
07: function getName()
08: {
09: return "Ratana";
10: }
11:
12: }
13:
14: $person = new Person();
15: print $person->getName();
16: // outputs "Ratana"
17: ?>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 42
dUcEdlGñk)anCYbRbTHmkehIyGMBI method én]TahrN_ 37 EdlemIleTAvamanlkçN³dUcKñaeTAnwg
function FmµtaEdr . GñkGac call object method edaykareRbIR)as;nimitþsBaØa ( -> ). method Edl)an access
eTAkan; member variables énclass xagelI)an return nUvstring "Ratana" EdlenHminEmnCakarGnuvtþn_EdlRtwmRtUv
enaHeT method KYrEt return tMélEdl copy BI $name property nwg minEmnCa string literal.
Gñkk¾)ansÁal;rYcmkehIyGMBIkaraccess a property BIxageRkA object b:uEnþetIRtUveFVIya:gNaedIm,I refer vaenAxagkñúg class
xøÜnÉg?sUmBinitüemIl]TahrN_ 39.
5. Accessing a Property from Within a Method >
]TahrN_ 39
01: <html>
02: <head><titile>Accessing a property from within a method</title>
03: </head>
04: <body>
05: <h2>Accessing a property from within a method</h2>
06:
07: <?php
08:
09: class Person
10: {
11: var $name = "Thary";
12:
13: function getName()
14: {
15: return $this->name;
16: }
17: }
18:
19: $person = new Person();
20: $person->name = "Bopha";
21: print $person->getName();
22: //outputs "Bopha"
23: ?>
24: </body>
25: </html>
Class Edl)anbegáItkñúg]TahrN_ 39 eyIg)aneRbIR)as;nUv special variable $this edIm,I refer eTAkan;
current instantiated object enAbnÞat;TI 15 KW $name . object Edl refereTAkan;xøÜnÉgRtUvEteRbI $this variable
P¢ab;CamYysBaØa ( -> ) edaykareRbIviFIenHGñkGacaccessral;property b¤ method EdlzitenAkñúgclass xøÜnÉg.
GñkGacKitfacg;eGay object mannUvtMélén $name property epSg²Kña edayGñkGaceFVIkarerobcMnUvtMélrbs; $name
property dUcEdl)anGnuvtþn_enAkñúg]TahrN_ 39 b¤ GñkGacbegáItCamethod sMrab;eFVIkarCamYyvadUcmanbgðajkñúg
]TahrN_40 .
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 43
6. Changing the Value of a Property from Within a Method >
]TahrN_ 40
01: <html>
02: <body>
03: <head><title>Changing the value of a property from within a method</tile>
04: </head>
05: <body>
06: <h2>Changing the value of a property from within a method</h2>
07:
08: <?php
09:
10: class Person
11: {
12: var $name = "tepy";
13:
14: function setName( $n )
15: {
16: $this->name = $n;
17: }
18:
19: function getName()
20: {
21: return $this->name;
22: }
23: }
24:
25: $person = new Person();
26: $person->setName("darya");
27: print $person->getName();
28: // outputs "darya"
29:
30: ?>
31:
32: </body>
33: </html>
$name propertyén object cab;epþImedaytMél string "tepy"enAbnÞat;TI12 b:uEnþbnÞab;BI setName() method
RtUv)anehAenAbnÞat;TI 26 tMélrbs;vaRtUv)anbþÚreTACa "darya" vij . Object KWmanlT§PaBpøas;bþÚrnUv property
rbs;xøÜnÉg)an ehIysMrab;karbBa¢ÚnnUv arguments eTAkan; method vijKWGñkGaceRbInUvviFI dUcEdlGñkGnuvtþn_vaCamYy
function FmµtaEdr.
7. Object Constructors >
enA]TahrN_muneyIg)aneRbIR)as; method mYyeQµaHfa setName() edIm,IeFVIkarpøas;bþÚrtMélrbs; $name
property müa:gvijeTot karpþl;nUvtMéltMbUgsMrab; $name property enAkñúg Class KW hard-code .var $name = "tepy";
> RbsinebIeyIgKitfa $name property pÞúknUvtMélepSg²Kña ral;eBlEdl instance én Person class
eyIgGaceFVIeGaykan;EtRbesIrCagmunedaykar set $name property enAeBlEdl Object RtUv)an initialize.
eyIgGaceRbIR)as; special function EdleKeGayeQµaHfa constructor edIm,I set properties
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 44
nigbMeBjkargarepSg²eTAtamtMrUvkarénkargar. constructor KWRtUvehAeday sV½yRbvtþienAeBlEdl object RtUv)an
instantiated edaykareRbIR)as; new keyword .
GñkGacbegáItnUv constructor tamviFIsaRsþBIrya:g TI1 KW constructor EdlCa functionmaneQµaHdUc class .
]TahrN_ 41 nwgbEnßmnUv constructor samBaØmYyeTAeGay Person Class EdlkUdxageRkamenHeRbIR)as;)ansMrab;Et
PHP 5 b:ueNÑaH .
]TahrN_41 A Class with a Constructor
01: <html>
02: <head>
03: <title>A Class with a Construct</title>
04: </head>
05: <body>
06: <h2>A Class with a Construct</h2>
07:
08: <?php
09:
10: class Person
11: {
12: var $name;
13:
14: function Person($name="tepy")
15: {
16: $this->name = $name;
17: }
18: function setName( $n)
19: {
20: $this->name = $n;
21: }
22:
23: function getName()
24: {
25: return $this->name;
26: }
27: }
28:
29: $person = new Person("darya");
30: print $person->getName ();
31: // outputs "Darya"
32:
33: ?>
34:
35: </body>
36: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 45
Person() constructor method bnÞat;TI14KWRtUv)anehAedaysV½yRbvtþienAeBlEdleyIgInstantiate nUv Person
object bnÞat;TI29 eyIgk¾)anerobcMnUvtMél default mYyCa string "tepy" pþl;eTAeGay parameter pgEdr
vaKWCakarCMnYseGay xN³EdleyIgmin)anpþl;Ca argument enAeBlEdleyIgbegáIt Object.
PHP 5 )anbgðajnUv syntax fµImYyedIm,IbegáIt constructor methods edayCMnYseGaykareRbIR)as;nUv function
EdlmaneQµaHdUcclass mkCakareRbIspecial syntax fµIKW__construct()dUecñHeyIgGaceFVIkarpøas;bþÚrbnÞat;TI5én
]TahrN_xagelI mkeRbInUv syntax fµIedayeFVIkarCMnYsnUv function Person() mkeRbI__construct() vij.
function __construct( $name="tepy") >
{
………….
}
8. Limiting Access to Object Properties >
PHP 4 min)anpþl;nUvkar karBarsMrab; object properties enaHeT Client code Gac getb¤ set object
properties)aneTAtamkarKitrbs;BYkeK.mansMnYrsYrfaetImanbBaðaGVIeTkñúgkarGnuvtþn_EbbenH? vaminmanCabBaðakñúgkareRbI
R)as;nUv Public accessible properties enaHeT Edl CaTUeTA vaCakarGnuvtþn_sMrab;kar access eTAkan; object
EdlmanlkçN³tUc. enA]TahrN_xag eRkameyIgnwg)aneXIjnUvlkç½NÐmYyEdlkMNt;nUvRBMEdnénkar access eTAkan;
$name propertyrbs;Person class .
]TahrN_42 Class with Public Properties
01: <?php
02: class Person
03: {
04: var $name;
05: var $pid;
06: var $personStr;
07:
08: function Person( $name="somphy", $pid=0 )
09: {
10: $this->name = $name;
11: $this->pid = $pid;
12: }
13:
14: function setName( $n )
15: {
16: $this->name = $n;
17: $this->$personStr=$this->name." ".$this->pid;
18: }
19:
20: function getName ()
21: {
22: return $this->name;
23: }
24: }
25: $person = new Person("sovan",5233);
26: print $person->PersonStr();
27: // outputs "sovan 5233"
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 46
28: print "<br />";
29: $person->name = "makara";
30: ?>
PHP 5 pþl;nUvviFIsaRsþepSgedIm,I declare nUv properties rbs;eyIgedaykarCMnYsnUv Var keyword mkeRbInUv
keywords fµImYykñúgcMeNam keyword TaMgbI EdlmanlkçN³ Rsedog eTAnwg programming Java eyIgnwgbgðajBIkar
declarenUvproperty fµIenHenAkñúgtaragxageRkam
PHP 5 Property Declaration Keywords
Privacy Level Description
public Accessible to all. Equivalent to var.
private Available only to the containing class.
protected Available only to the containing class and subclasses.
dUecñHeyIgGacpøas;bþÚr properties rbs;eyIgEdlmanenAkñúg]TahrN_xagelIedayeRbIprivate CMnYs eday var
keyword vij .
ex.
private $name; >
private $pid; >
LÚvenHkarBüayampøas;bþÚrnUvtMélrbs; $name property én Person object enAbnÞat;TI 30 nwgbgðajnUv error
message dUcxageRkam .
Fatal error: Cannot access private property Person::$name in c:Inetpubwwwroot
classPrivateProperty.php on line 30 >
dUecñH Client coders RtUvEteRbIR)as;nUv setName() method edIm,IeFVIkarEkERbeTAelItMélrbs; $name property .
maneBlNamYyGñkRbEhlCacg;eGay child classes Gacaccsess eTAkan; property
EdlenAkñúgeBlenaHGñkKYrEteRbInUv protected keyword eRBaHvaGnuBaØateGayGñk accesse vaBClass EdlGñk)an
derived ehIyeyIgnwg)aneXIjvaenAkñúgEpñkmYyEdlniyayBI Inheritance .
9. Limiting Access to Object Methods >
lkçN³sMxan;én object-oriented code KWCa class . Object RtUvEtkMNt;nUvmuxgarnig Public interface
eGay)anc,as;las;enAeBlGñkbegáItnUv methods epSg².bMENkEdlmanenAkñúg classKWpÞúknUvmuxgarepSg²sMrab;tM
eNIrkardUecñHGñkKYrEtlak;nUvmuxgarTaMgenaHBIBiPBxageRkA. sMrab;Ca]TahrN_xagelIeyIgKYrEtbegáItnUv method
sMrab; $personStr property BIeRBaHral;tMeNIrkarTaMgGs;rbs; $personStr RtUv)anpÞúkenAkñúg setName() method .
function setName( $n )
{
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 47
$this->name = $n;
$this->$personStr=$this->name." ".$this->pid;
} >
GñkRbEhlCaRtUvkarnUv method edIm,I reset nUvstring rbs; $personStr dUecñHeyIgnwgbegáItnUv
Method fµImYysMrab;pþl;tMéleTAeGay $personStr property .
function setName( $n )
{
$this->name = $n;
$this->makePersonStr( $n, $this->code );
}
function makePersonStr( $string , $code)
{
return $this->personStr = "$string $code";
}
LÚvenHeyIgenAEtmanbBaðaenAeLIyCamYynwg method rbs;eyIg BIeRBaH client code enAEtGacAccess nUv
makePersonStr() method ehIyvaGaceFVI»ó Tinñn½yrbs;eyIgmankarBi)ak RKb;RKg . eyIgcg;eGayRtwmEt object
EdlCaGñkbegáItnUv property EtmYyKt;EdlmansiT§ Access mk kan; property enH enAkñúgCMnan;rbs; PHP 5
eyIgGacpþl;nUvlkçN³ pravicy eTAeGay methods dUcEdleyIg)anGnuvtþn_CamYynwg private property BI]TahrN_mun.
private function makePersonStr($string , $code) >
{
// ...
}
LÚvenH makePersonStr() function Gac access )anEtenAkñúg method TaMgLayNaEdlzitkñúg Person class
b:ueNÑaH .
Public, protected ehIynwg private vatMeNIr)anEtCamYynwg PHP 5 Etb:ueNÑaH dUecñHRbsinebIGñkBüayam
eRbInUv keyword TaMgbIenHCamYy PHP 4 enaH script rbs;GñknwgRtUvbraC½yTaMgRsug.
10.Inheritance >
edIm,IbegáIt class mYyEdlGac inherits function BI parent class eyIgRbEhlCaRtUvEkERbnUvkar declare class
rbs;eyIgbnþicbnþÜc . ]TahrN_fµIxageRkamenH KWCakarbegßItnUv Item Class ehIynig begßItnUv inheriting class
Edlpþl;eQµaHfa PriceItem .
]TahrN_43
Creating a Class That Inherits from Another >
01: <html>
02: <body>
03: <h1>Creating Class That Inherits from Another</h1>
04: <?php
05:
06: class Item
07: {
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 48
08: var $name;
09:
10: function Item( $name="item", $code=0)
11: {
12: $this->name = $name;
13: $this->code = $code;
14: }
15:
16: function getName()
17: {
18: return $this->name;
19: }
20: }
21: class PriceItem extends Item
22: {
23: ………………………………
24: ………………………………
25: }
26: $item = new PriceItem( "Angkor", 4545 );
27: print $item->getName ();
28: // outputs "Angkor"
29: ?>
30: </body>
31: </html>
eyIg)anbegáItnUv class mYyeTotEdlmaneQµaHfa PriceItem enAbnÞat;TI 21. KYrcMnaM
fa extends clause EdleRbIR)as;enAxagkñúgkar declare class enAbnÞat;TI21 enHmann½yfa PriceItem object
inherits ral; function TaMgGs;EdlmanenAkñúg Item class dUecñH PricteItem Object nimYy²KWmanlT§PaB access
eTAkan; getName() method b¤ $name property b:uEnþ k¾GaRs½yeTAelIkareRbIR)as;nUv privacy settings pgEdr .
edaysarEteyIgBMu)anbegáItnUv Constructor method sMrab; PriceItem class dUecñHetI $name property
vaGaceFVIkarpøas;pþÚrtMél BI default "item" eTACa "Angkor" edaybBa¢ÚneTAtam PriceItem )any:agdUcemþc ?
BIeRBaHeyIg
BMu)anpþl;nUvcontructor enAkñúgPriceItem enaHeTdUecñHRbsinebI class Edl extend BIclass déT
eTotminmannUv constructor method enaH contructor EdlCarbs; parent class nwgRtUv)an
ehAedaysV½yRbvtþienAeBlEdl child object cab;epþImbgáIteLIg .
11. Overriding the Method of a Parent Class >
enAkñúglkçN³én object-oriented kUdrbs; child classes Gac override methods BI Parents class
nwgGnuBaØtieGay objects Gacinstantiated BIparent class .
The Method of a Child Class Overriding That of Its Parent >>
]TahrN_44
01: <?php
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 49
02: class Item
03: {
04: var $name;
05:
06: function Item( $name="item", $code=0)
07: {
08: $this->name = $name;
09: $this->code = $code;
10: }
11:
12: function getName()
13: {
14: return $this->name;
15: }
16: }
17:
18: class PriceItem extends Item
19: {
20: function getName()
21: {
22: return "(price)."$this->name;
23: }
24: }
25:
26: $item = new PriceItem( "widget", 5442 );
27: print $item->getName();
28: // outputs "(price) Angkor"
29: ?>
getName() method EdlbegáItenAkñúg PriceItem class enAbnÞat;TI 20 RtUv)anehA
edayeRbIR)as;nUv$name property rbs;parent class EdlenAcMnucenHeyIgKYrEteFVIkarsMerccitþ
begáItnUv $name property EdlmanenAkñúg Item class Ca private .
class Item
{
private $name;
// ...
}
karpøas;bþÚrnUv]TahrN_xagelIeFVIeGaylT§plmanPaBERbRbYldUcxageRkam-
lT§plEdlTTYl)anmuneBleFVIkarpøas;bþÚr KW (price) Angkor lT§plfµIEdlnwgTTYl)anKW (price) LÚvenH PriceItem
class minGac access eTAkan; $name property eTot)aneT b:uEnþRbsinebI Child class RtUvkar access eTAkan;
methods b¤property énancestor classes eyIKYrEteRbInUv Protected keyword CMnYseGay private vij .
12. Calling an Overridden Method >
maneBlxøHfunction EdlmanenAkñúgparent class GacmanplRbeyaCn_sMrab;GñkdUecñH
sMrab;Object-oriented-programmingGnuBaØatieGayGñkrefer eTAkan;parent class edayeRbInUv
parent keyword . ]TahrN_xageRkamenH getName() method EdlzitenAxagkñúg PriceItem
Class nwgcall nUv method enAkñúg Item class Edl)anRtUv override.
Calling an Overridden Method (PHP 5 Syntax) >
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 50
]TahrN_ 45
01: <?php
02: class Item {
03: private $name;
04:
05: function __construct( $name="item", $code=0 ) {
06: $this->name = $name;
07: $this->code = $code;
08: }
09:
10: function getName() {
11: return $this->name;
12: }
13: }
14:
15: class PriceItem extends Item {
16: function getName() {
17: return "(price) ".parent::getName ();
18: }
19: }
20:
21: $item = new PriceItem ("widget", 5442);
22: print $item->getName();
23: // outputs "(price) widget"
24:
25: ?>
eyIg)aneFVIkarCamYynwg getName() method enAkñúg PriceItem class bnÞat;TI17.
PriceItem class mineFVIkarpÞal;CamYynwg $name property rbs; Item class enaHeT dUecñHenAcMnuc enHeyIgGac declare
$name property Ca private EdlmineFVIeGaymanplb:HBal;CamYynwg lT§plenaHeT
ehIyRbsinebIeyIgeRbIvaCamYynwg PHP 5 eTotenaH vaKWCakarGnutþn_d¾l¥ edIm,I Lock nUv methods nig property
rbs;eyIg .
13. Working with Constructors >
eyIgFøab;)aneXIjmkehIyfa constructor rbs;parent class nwgRtUv called edaysV½y
RbvtþiRbsinebI child class min)anbegáItnUv constructor sMrab;xøÜnvaenaHeT . eyIgnwgbEnßmnUv
Constructor method eTAeGay PriceItem class rbs;eyIgCamYynwg]TarhN_xageRkam.
]TahrN_46Adding a Constructor to PriceItem
01: <?php
02: class Item
03 {
04: private $name;
05: function __construct( $name="item", $code=0 ) {
06: $this->name = $name;
07: $this->code = $code;
08: }
09: function getName () {
10: return $this->name;
11: }
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 51
12: }
13: class PriceItem extends Item
14: {
15: private $price;
16: function __construct( $name, $code, $price ) {
17: parent::__construct( $name, $code );
18: $this->price = $price;
19: }
20:
21: function getName() {
22: return "(price) ".parent::getName ();
23: }
24: }
25:
26: $item = new PriceItem ("widget", 5442, 5.20);
27: print $item->getName ();
28: // outputs "(price) widget"
29:
30: ?>
eyIg)anbegáItnUv constructor method enAbnÞat;TI16edIm,ITTYl argument sMrab;
$name nig $codeRBmCamYynwg argument fµIsMrab; price. eyIg)aneRbIR)as; parent keyword
edIm,Icall constructor rbs; Item class enAbnÞat;TI22 muneBlEdleyIgeFVIkarerobcMtMéleGay
$price property EdlenHbgðajeGayeyIgeXIjBIehtuplmYysMrab;eRbInUv syntax fµIrbs;PHP5 edIm,IbegáIt contructor .
parent::__construct( $name, $code );
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 52
ច្េច្ ៀនទ្យី ៧
enAelI internet (world wide web ) Form pøl;nUvlT§PaBeénkarbBa¢ÚnnUvBt’manBIGñk eRbIR)as;BI Client
eTAkan; Server . PHPRtUv)anrcnaeLIgedIm,IeFVIkarCamYynwgBt’manTaMgenaHenAeBlEdl HTML forms RtUv)an submit
.
1. User Input>
GñkR)akdCacg;eGaykmµviFIrbs;GñkmanskmµPaB b¤ TMnak;TMngCamYynwgGñkeRbIR)as;kñúgxN³eBlNamYy .
]TahrN_xaeRkamKWCakarbegáItnUv Form mYyedIm,ITTYlnUvBt’manBIGñkeRbIR)as;dUcCa first-name , last-name , date of
birth , email address nigpassword.
<html>
<head>
<title>Registration form </title>
</head>
<body>
<CENTER>
<h2>Registration Form</h2>
<hr width="50%">
<form method="GET" action="register.php" >
<table>
<tr><td>First-Name</td>
<td><input type="Text" name="txtFname"></td>
</tr>
<tr><td>Last-Name</td>
<td><input type="Text" name="txtLname"></td>
</tr>
<tr><td>Date of Birth</td>
<td>
<Select name="cboday">
<option value="01">01</Option>
<option value="02">02</Option>
<option value="03">03</Option>
</select>
<Select name="cbomonth">
<option value="01">Jan</Option>
<option value="02">Feb</Option> >
<option value="03">Mar</Option>
</select>
<Select name="cboyear">
<option value="1980">1980</Option>
<option value="1981">1981</Option>
<option value="1982">1982</Option>
<option value="1983">1983</Option>
</select>
</tr>
[
Form
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 53
<tr><td>E-mail</td>
<td> <input type="text" name="txtemail"></td>
</tr>
<tr><td align=right colspan=2> <input type="submit" value="Submit">
</td>
</tr>
<tr><td>Password</td>
<td> <input type="password" name="txtpwd" size=22></td>
</tr>
</table>
</body> </html>
enAbnÞat;EdleyIg)aneRbInUv form tage<form method="get" action="register.php">eyIg)aneRbInUv get method
EdlCa attribute dMbUgenAkñúg form tag . HTTP get method eFVIkarbBa¢ÚnTinñn½yBI form eTAtam URL
EdleFVIeGayTinñny½TaMgenaHGacbgðajenAelI address bar rbs; browser CaehtueFVIeGaylT§plEdl)anBI form
GacRtUvrkSarTukCa bookmark . GñkRbEhlCaRtUveRbI post method vijCakarRbesIrCag RbsinebIGñkcg;
eRbIR)as;nUv passwordBIeRBaHPOST eFVIkarbBa¢ÚnTinñn½yEdlmanenAkñúgform eTAtambody én HTTP request dUcecñH
Tinñn½yTaMgenaHminRtUv)anbgðajeGayeXIjCamYy URL b¤ Ca bookmarked enaHeT .
edIm,I processes data BI form EdleRbI get method enAkñúg Script GñkGaceRbICamYy $_GET b¤RbsinebIGñkeRbI nUv post
method GñkGaceRbICamYy $_POST b¤ eRbI $_REQUEST GñkGaceRbI)as;)anTaMgBIrmethod.
]TahrN_kareRbIR)as;get method enAkñúg script
register.php
<html>
<body>
<head>
<title>Personal Information</title>
</head>
<center>
<h2>Personal Information</h2>
<hr width=50%>
<?php
$fname = $_GET['txtFname'];
$lname = $_GET['txtLname'];
$day = $_GET['cboDay'];
$month = $_GET['cboMonth'];
$year = $_GET['cboYear'];
$dob = $day."-$month"."-$year";
print "<table>";
print "<tr>";
print "<td><b>First-Name :</b></td>";
print "<td> $fname </td>";
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 54
print "</tr>";
print "<tr>";
print "<td><b>Last-Name :</b></td>";
print "<td> $lame </td>";
print "</tr>";
print "</table>";
?>
</body>
</html>
xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)an submit edayeRbI get mehod . sUmBinitüemIlnUv address
bar rbs;browser EdlBt’manbBa¢ÚnmkenaH RtUv)anP¢ab;mkCamYynwg url
]TahrN_49 kareRbIR)as;post method enAkñúg script
register.php
<html>
<body>
<?php
$fname = $_POST['txtFname'];
$lname = $_POST['txtLname'];
print "<table>";
print "<tr>";
print "<td><b>First-Name :</b></td>";
print "<td> $fname </td>";
print "</tr>";
print "<tr>";
print "<td><b>Last-Name :</b></td>";
print "<td> $lame </td>";
print "</tr>";
print "</table>";
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 55
?>
</body>
</html>
Gñknwg)aneXIjBIPaBxusKñarvagkareRbIR)as;nUv post method nig get method enAelI Address bar rbs;
brower nimYy² . xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)anSubmit edayeRbIR)as;nUv post method .
2. Accessing Form Input with User-Defined Arrays >
]TahrN_ 49 pþl;lT§PaBeGayGñkTTYlnUvBt’manBI HTML element Edl)an Submit
nUvtMélmYysMrab;Etelement mYyb:ueNÑaHEdlenHBMuTan;manlkçN³RKb;RKan;enAeLIyenaHeTRbsin ebIGñkcg;eFVIkarCamYynwg
multiple select .
]TahrN_50
01: <html>
02: <head>
03: <title>HTML Form with a 'select' Element</title>
04: </head>
05:
06: <body>
07: <center>
08: <h2>Multiple Select</h2>
09:
10: <hr width="50%">
11: <form action="multiple.php" method="POST">
12: <select name="products[]" multiple="multiple">
13: <option> Cocacola </option>
14: <option> Fanta </option>
15: <option> Sprite </option>
16: <option> Merinda </option>
17: <option> Pepsi </option>
18: </select><br><br>
19: <input type="submit" value="submit">
20:
21: </body>
22: </html>
eyIgnwgbegáIt script edIm,IEsVgrk input BI "products[]" form element EdlbegáItenAbnÞat;TI 12edaypþl;eQµaHCa array
indexed ehAfa products. products[]KWCa select element Edlpþl;eGaynUvCMerIssMrab;GñkeRbIR)as;edaykareRbI
option element enAbnÞat;TI 13 dl; bnÞat;TI 17eyIgnwgbgðajBIlT§plEdlGñkeRbIR)as;)aneRCIserIsBI form xagelI
EdlbegáItCa array enAkñúg]TahrN_ 51
01: <html>
02: <body>
03: <head>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 56
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo "<b>Your products choice are :</b><br/>";
10: foreach($_POST['products'] as $val)
11: {
12: print "$val<br>";
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>
enAbnÞat;TI 09 én ]TahrN_ 51 eyIgeFVIkarRtYtBinitüeTAelI $_POST['products'] Element RbsinebI
element enHCa array eyIgnwg loop ral;FatunimYy²rbs;vaenAbnÞat;TI10 edIm,IbgðajCalT§pleTAkan; Browser .
Gñkk¾GacGnuBaØatieGayGñkeRbIR)as; eRCIerIsnUvCMerIseRcInedayeRbI check boxes EdlRtUvpþl;nUveQµaHdUc²KñasMrab;
element nimYy² ehIyP¢ab;CamYy empty brakets . PHP nwg compiles nUvGVIEdlGñkeRbIR)as;)an select eTACa array .
eyIgnwgeFVIkarpøas;bþÚrBIkareRbI select element enA]TahrN_xagelImkeRbIcheck boxes vijdUcmankñúg]TahrN_ 52.
]TahrN_52
<html>
<head>
<title>HTML Form with a 'select' Element</title>
</head>
<body>
<center>
<h2>Multiple Select</h2>
<hr width="50%">
<form action="multiple.php" method="POST">
<input type="checkbox" name="products[]" value="Cocacola" />Cocacola
<input type="checkbox" name="products[]" value="Fanta" />Fanta
<input type="checkbox" name="products[]" value="Sprite" />Sprite
<input type="checkbox" name="products[]" value="Merinda" />Merinda
<input type="checkbox" name="products[]" value="Pepsi" />Pepsi
<br><br>
<input type="submit" value="submit">
</body>
</html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 57
multiple.php
]TahrN_52
01: <html>
02: <body>
03: <head>
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo "<b>Your products choice are :</b><br/>";
10: foreach($_POST['products'] as $val)
11: {
12: print "$val<br>";
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 58
ច្េច្ ៀនទ្យី ៨
1. What is MySql ? >
MySql KWCaRbePT Open Source Sql databases management system EdlmanRbCaRbiybMputsMrab;
kareRbIR)as; edayRtUv)anGPivDÆn_nigKaMRTeday MySQL AB . MySQL AB KWCaRkumh‘unEdlbegáIteLIg
edayRkumGñkGPivDÆn_MySql .
1.1 MySQL is a relational database management system. >
A relation databases KWrkSaTuknUvTinñn½ykñúgtable epSgBIKñaEdlmanlkçN³RbesIrCagkarrkSaTuknUvTinñn½yTaMg
Gs;enAkñúgstoreroom d¾FMmYy ehIyviFIenHGacCYybegáInel,Ónnig manPaBgayRsYleRbIkan;EtRbesIreLIgCamYy
nwgTinñn½y . SQL KWCabMENkmYyén MySQL Edl eRbI CaBaküeBjfa “Structured Query Language” SQL
KWCaPasaEdleRbIR)as;Ca standard edIm,I access eTAkan; databases ehIyRtUv)ankMNt;eday ANSI/ISO SQL
Standard .SQL standard RtUv)anvivtþn_eLIgenAkñúgGMLúgqñaM 1986 EdlbegáIt)anCaCMnan;rbs; SQL-92
edaysMedAeTAelI SQL standard EdleFVIkardak;ecjnUvCMnan;rbs;xøÜnenAkñúgGMLuúgqñaM 1992 nig bnÞab;mkKW SQL-1999
nigeRkaymkeTotKW SQL-2003 .
1.2 MySQL software is Open Source. >
Open Source KWmann½yfaGñkeRbIR)as;manlT§PaBEkERbnUv software enaH)an ehIy GacTajyknUv
Software TaMgenaHenAelI Internet nigGaceRbIR)as;va edayminmankarbg;R)ak; eTAelIesvakmµGVITaMgGs; . MySQL
software eRbIR)as; GPL( General Public License ) edIm,Ipþl;eGayGñknUvGVIEdlRtUvkar nig GVIEdlGñkminRtUvkarcMeBaH
software enH . KWmann½yfa RbsinebIGñkminmanGarmµN_Tukcitþ CamYyniwg GPL b¤ Gñkcg;bgáb;nUvkUdeTAkñúg MySQL
edIm,IeFVICaCommercial application GñkGacTijnUvc,ab;GnuBaØatieGayeFVIBaniC¢kmµBIRkumh‘un MySQL Edl
Bt’manlMGitGñkGaceRbIR)as;nUveKhTMB½r(http://www.mysql.com/company/legal/licensing/) ។
2. SQL commands in mysql >
EpñkxageRkamnwgbgðajBIkareRbIR)as; SQL commands enAkñúg MySQL context .
RKb; commands TaMgGs;suT§Et)anTTYlsÁal;eday MySQL system kñúgGMLúgeBlEdl design SQL databases
environment . command rbs; MySQL nimYy²RtUvEtbBa©b;CamYynwgsBaØa Semicolon ( ; ) .
show databases KWCa command dMbUgEdleRbIedIm,IbgðajnUveQµaH database TaMgGs;EdlmanenAkñúg MySQL
kñúgenaHmandatabase cMnYnBIrP©ab;mkRsab;CamYy MySQL package.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
[
MySql
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 59
+----------+
2 rows in set (0.00 sec)
Database EdlmaneQµaHfa mysql pÞúknUvMySQL settings ehIynig users epSg² .sMrab;Ca]TahrN_
eyIgnwgbegáItdatabase mYyeQµaHfa BbuDb .
create database databaseName ;
syntax : mysql>create database BbuDb ; >
eyIgGacBinitüemIl database Edl)anbegáItxagelIedayeRbIR)as; show database command.
>mysql> show databases;
+------------+
| Database |
+------------+
| mysql |
| BbuDb |
| test |
+------------+
3 rows in set (0.00 sec)
edIm,Ilb;nUv database NamYyenaHGñkGaceRbISQL command : drop database databaseNameGñkKYrRbugRby½tñpgEdr
cMeBaHkareRbIR)as;command enH BIeRBaHvanwgeFVIkarlb;database edayminmankarsaksYrb¤ eFVIkarbBa¢ak;BI
GñkmþgeToteLIy.SQL syntax EdleRbIedIm,IbegáIt table eyIgnwgbgðajCamYy]TahrN_xageRkam b:EnþmuneBlEdleRbI
command enHGñkRtUvEtkMNt;nUv database mYyeGayCak;lak;CamunsinedayeRbIcommand use:
mysql>use BbuDb ;. eyIgniwgeRbI command edIm,IbegáIt table Edlmanattributes dUcCa id , username , password ,
name nig email CamYynwg]TahrN_xageRkam.The general form of the syntax is:>
create table tableName ( col1Name datatype otherSettings, etc) >
>mysql> create table tblpeople
( id int(5) not null auto_increment ,
username varchar(20) binary not null,
password varchar(20) binary not null,
name varchar(20) not null,
email varchar(30) not null,
primary key(id)
); >
ral; attribute nimYy²suT§EtRtUv)ankMNt;nUvcMMnYntYGkSrEdlRtUvrkSaTukenAkñúg table ehIy fieldnimYy²én table
suT§EtTamTareGaymannUvtMélCanic© . cMENkÉ id attribute tMélrbs;vaniwgRtUvekIneLIgedaysV½yRbvtþienAeBl
EdlTinñn½yRtUv)anbBa©ÚleTAkan; tblpeople mYyelIk² .varchar KWCatMélEdleRbICatYGkSr b¤CatYelx cMENkÉ
binary eKeRbIedIm,IeFVIeGaytMél eTACa case-sensitive rIÉ name ehIy nig email attribute KWminRtUv)aneRbI binary
enaHeTdUecñHvaminmanlkçN³ case-sensitive eLIy. id KWRtUv)anbegáItCa primary key sMrab;table edIm,I
identify row nimYy²éntable .
mysql> desc tblpeople ;>
វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE
Developing web Application with PHP Prepare By: DY CHANDOEUN Page 60
+----------+-------------+------+-----+---------+--------------+>
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+--------------+
| id | int(5) | | PRI | NULL |auto_increment
| username | varchar(20) | | | |
| password | varchar(20) | | | |
| name | varchar(20) | | | |
| email | varchar(30) | | | |
+----------+-------------+------+-----+---------+--------------+
5 rows in set (0.01 sec)>
bnÞab;BImkeTotGñkGaceRbIR)as; insert command edIm,IbBa©ÚlTinñn½yeTAkñúg table .
]TahrN_³
mysql>insert into tblpeople values (null, 'muth', ' muth07 ', 'monen', ' muth_monen@hotmial.com ');
mysql>insert into tblpeople values(null, 'lou', ' army ', ' lou cy ', ' lou_cy@gmail.com '); >
enAeBlEdl id attribute Ca auto_increment eyIgeRbI null sMrab;Ca data entry Edl null Value
minmanlkçN³dUcnwg blank (" ") enaHeT . id attribute cab;epþImedaytMélCa integer 1 ehIyvanwgeFVIkarbegáIntMél 1
énenAeBlEdlmankarbBa¢ÚlTinñn½yeTAkan; row fµImþg². GñkGacBinitüemIlBt’man TaMgGs;EdlmanenAkñúg
tablebnÞab;BI)anbBa©ÚledayeRbIR)as; SQL command mysql>select * from tblpeople ; >
+----+----------+----------+------------+---------------------+
| id | username | password | name | email |
+----+----------+----------+------------+---------------------+
| 1 | muth | muth07 | monen |muth_monen@hotmail.com |
| 2 | lou | army | lou cy |lou_cy@gmail.com |
+----+----------+----------+------------+---------------------+
2 rows in set (0.00 sec)
edIm,Ilb;nUv table NamYyecjBI database GñkGaceRbI command :mysql> drop table tableNamesMrab; command
EdleRbIedIm,Ilb; row BI table TamTareGayGñkpþl;nUveQµaHén table ehIynigwhere condition EdlbBa¢ak;BI row(s)
EdlnwgRtUvlb;.
delete from tableName where Where-condition
sUmRbugRby½tñRbsinebIGñkmineRbI where-condition enaHeT RKb; rows TaMgGs;EdlmanenAkñúgtable
nwgRtUvlb;ecalTaMgGs;. enAkñúg]TahrN_xageRkameyIgnwgeRbItMélrbs; attribute name nig username edIm,Ilb; row
ecjBI table tblpeople .
delete from tblpeople where name=’ monen ’ and username = ’ muth ’ ;>
UPDATE command RtUv)aneRbIedIm,IEkERbBt’manEdlmanenAkñúg table GñkGacselect yk
Bt’manNamYymkEkERbBt’manedayminmankar)at;bg;nUv record b¤ row edImTaMgRsugeLIy.
The syntax is:
UPDATE table-name SET field1=‟val1‟, field2=‟val2‟, field3=‟val3‟…………
WHERE condition;
ex.
update tblpeople set password=’maco’ where username=’muth’ ;
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types
PHP Data Types

Weitere ähnliche Inhalte

Was ist angesagt?

On UnQLite
On UnQLiteOn UnQLite
On UnQLitecharsbar
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notested-xu
 
Quick tour of PHP from inside
Quick tour of PHP from insideQuick tour of PHP from inside
Quick tour of PHP from insidejulien pauli
 
fastcgi_conf and mime_types
fastcgi_conf and mime_typesfastcgi_conf and mime_types
fastcgi_conf and mime_typesNaoya Nakazawa
 
Windbg랑 친해지기
Windbg랑 친해지기Windbg랑 친해지기
Windbg랑 친해지기Ji Hun Kim
 
PHP Streams
PHP StreamsPHP Streams
PHP StreamsG Woo
 
PHP Internals and Virtual Machine
PHP Internals and Virtual MachinePHP Internals and Virtual Machine
PHP Internals and Virtual Machinejulien pauli
 
CLI, the other SAPI
CLI, the other SAPICLI, the other SAPI
CLI, the other SAPICombell NV
 
chapter 2 Java at rupp cambodia
chapter 2 Java at rupp cambodiachapter 2 Java at rupp cambodia
chapter 2 Java at rupp cambodiaSami Mut
 
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHP
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHPIPC2010SE Doctrine2 Enterprise Persistence Layer for PHP
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHPGuilherme Blanco
 
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練Sheng-Hao Ma
 
2016年のPerl (Long version)
2016年のPerl (Long version)2016年のPerl (Long version)
2016年のPerl (Long version)charsbar
 
LSA2 - 03 Http apache nginx
LSA2 - 03 Http apache nginxLSA2 - 03 Http apache nginx
LSA2 - 03 Http apache nginxMarian Marinov
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codecharsbar
 
Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014Eric Hogue
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7julien pauli
 

Was ist angesagt? (20)

On UnQLite
On UnQLiteOn UnQLite
On UnQLite
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notes
 
Quick tour of PHP from inside
Quick tour of PHP from insideQuick tour of PHP from inside
Quick tour of PHP from inside
 
fastcgi_conf and mime_types
fastcgi_conf and mime_typesfastcgi_conf and mime_types
fastcgi_conf and mime_types
 
Windbg랑 친해지기
Windbg랑 친해지기Windbg랑 친해지기
Windbg랑 친해지기
 
PHP Streams
PHP StreamsPHP Streams
PHP Streams
 
PHP Internals and Virtual Machine
PHP Internals and Virtual MachinePHP Internals and Virtual Machine
PHP Internals and Virtual Machine
 
CLI, the other SAPI
CLI, the other SAPICLI, the other SAPI
CLI, the other SAPI
 
chapter 2 Java at rupp cambodia
chapter 2 Java at rupp cambodiachapter 2 Java at rupp cambodia
chapter 2 Java at rupp cambodia
 
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHP
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHPIPC2010SE Doctrine2 Enterprise Persistence Layer for PHP
IPC2010SE Doctrine2 Enterprise Persistence Layer for PHP
 
PHP5.5 is Here
PHP5.5 is HerePHP5.5 is Here
PHP5.5 is Here
 
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練
NTUSTxTDOH 資訊安全基礎工作坊 基礎逆向教育訓練
 
Codes
CodesCodes
Codes
 
2016年のPerl (Long version)
2016年のPerl (Long version)2016年のPerl (Long version)
2016年のPerl (Long version)
 
LSA2 - 03 Http apache nginx
LSA2 - 03 Http apache nginxLSA2 - 03 Http apache nginx
LSA2 - 03 Http apache nginx
 
Virus lab
Virus labVirus lab
Virus lab
 
PHP7 is coming
PHP7 is comingPHP7 is coming
PHP7 is coming
 
Better detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 codeBetter detection of what modules are used by some Perl 5 code
Better detection of what modules are used by some Perl 5 code
 
Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014
 
Profiling php5 to php7
Profiling php5 to php7Profiling php5 to php7
Profiling php5 to php7
 

Ähnlich wie PHP Data Types

Ähnlich wie PHP Data Types (20)

Php Tutorial
Php TutorialPhp Tutorial
Php Tutorial
 
What's new with PHP7
What's new with PHP7What's new with PHP7
What's new with PHP7
 
Debugging Your PHP Cake Application
Debugging Your PHP Cake ApplicationDebugging Your PHP Cake Application
Debugging Your PHP Cake Application
 
PHP in 2018 - Q1 - AFUP Limoges
PHP in 2018 - Q1 - AFUP LimogesPHP in 2018 - Q1 - AFUP Limoges
PHP in 2018 - Q1 - AFUP Limoges
 
Rcpp11
Rcpp11Rcpp11
Rcpp11
 
Qemu JIT Code Generator and System Emulation
Qemu JIT Code Generator and System EmulationQemu JIT Code Generator and System Emulation
Qemu JIT Code Generator and System Emulation
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
 
Marat-Slides
Marat-SlidesMarat-Slides
Marat-Slides
 
3
33
3
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
Verifikation - Metoder og Libraries
Verifikation - Metoder og LibrariesVerifikation - Metoder og Libraries
Verifikation - Metoder og Libraries
 
SPL, not a bridge too far
SPL, not a bridge too farSPL, not a bridge too far
SPL, not a bridge too far
 
What Is Php
What Is PhpWhat Is Php
What Is Php
 
PHP
PHPPHP
PHP
 
Oracle RDBMS Workshop (Part1)
Oracle RDBMS Workshop (Part1)Oracle RDBMS Workshop (Part1)
Oracle RDBMS Workshop (Part1)
 
Why You Should Use TAPIs
Why You Should Use TAPIsWhy You Should Use TAPIs
Why You Should Use TAPIs
 
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
Building and Incredible Machine with Pipelines and Generators in PHP (IPC Ber...
 
Yapcasia2011 - Hello Embed Perl
Yapcasia2011 - Hello Embed PerlYapcasia2011 - Hello Embed Perl
Yapcasia2011 - Hello Embed Perl
 
Introduction to Assembly Language
Introduction to Assembly LanguageIntroduction to Assembly Language
Introduction to Assembly Language
 
Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )Anatomy of a PHP Request ( UTOSC 2010 )
Anatomy of a PHP Request ( UTOSC 2010 )
 

PHP Data Types

  • 1. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 1 ច្េច្ ៀនទ្យី ១ History PHP RtUv)anpþl;eQµaHCapøÚvkar HyperText Preprocessor vaCaPasaEdltMeNIrkarenAelI ServerEdlCa TUeTA RtUv)an sresrkñúgbribT HTML b:uEnþmindUcCa HTML page FmµtaenaHeTPHP script minRtUv)anbBa¢Ún eTAeGay client eday server pÞal;enaHeT vaeFVIkarbBa¢Úneday PHP engine . PHP code EdlzitenAkñúg script GaceRbIedIm,IeFVI karCamYy Databases, begáItCarUbPaB ,Gan nigbBa©ÚlTinñn½yb¤ EkrERbGtßbTEdlmanenAxagkñúg files b¤ eFVIkar TMnak;TMngeTAkan; Remote Server RBmCamYynwglT§PaBCaeRcInepSgeTot . Rasmus Lerdorf KWCamnusSdMbUgEdlGPivDÆn_nUv PHP/FI ehIyRtUv)anmnusSrab;lanGñkeRbIR)as;va . CMnan;tMbUgénPHP/FI eQaµHfa Personal Homepage Tools/Form InterpreterEdllkçN³CamYldæanKWRsedogeTAnwg PasaPerl eRBaH)anRbmUlpþMúnUv Perl scripts mkGPivDÆn_enAkñúgGMLúgqñaM 1995 b:uEnþvaenAmankgVHxatCaeRcInenAkñúg PasaenH dUcCa for loops CaedIm . PHP/FI 2 enAkñúgqñaM 1997 Rasmus bnþkarGPivDÆn_nUv PHP/FI 2 rhUtmkdl;Ex vicäika qñaMdEdlbnÞab;BI Andi Gutmans ehIynig Zeev Suraski )anRbTHeXIjnUv PHP/FI cMeBlEdlBYkeKkMBugEsVgrknUvPasaedIm,IGPivDÆn_nUvKMeragbegáIt E-commerce solution sMrab;sklviTüal½y rbs;BYkeK . BYkeK)aneGaydwgfa PHP/FI BMuTan;manlT§PaB RKb;RKan;enAeLIyehIyxVHxatnUv lkçN³BiessCaeRcIn . cMnucmYyEdlmankarcab;GarmµN_CageK KW while loops EdlBYkeKnwgRtUvRbtibtþi . PHP 3> Zeev and Andi sMerccitþsresr scripting language eLIgvijb:uEnþBMuvtþman RasmuscUlrYmedIm,IGPivDÆn_nUv PHP3eLIyehIy)anpþl;nUveQµaHfµIfaHypertext PreprocessoredIm,IbBa¢ak;fa PHPKWCaplitplepSgmYyeTotehIynwg minRtwmEtykmkeRbIsMrab;EtkargarpÞal; xøÜnenaHeT . Zeev and Andi k¾)anbegáItnUv Extension API Edl API begáItfµIenHvamanlT§PaBbMeBjnUvkargarCaeRcIndUcCa Accessing databases , spell checkers ehIynwg bec©k viTüadéT²eTot EdleFVIeGaymankarcab;GarmµN_BIsMNak;GñkGPivDÆn_ CaeRcInmkcUlrYmkñúgKMerag PHP. enAxN³eBlenaHEdr PHP k¾RtUv)anbeB©jjnUvCMnan;fµIrbs;xøÜnKW PHP 3 enA éf¶TI 3 Ex mifuna qñaM 1998 Edltamkar)a:n;sµan PHP nwgRtUv)antMeLIg RbmaN Cag 50 000 domains b:uEnþCamYytYelxBitR)akd elIkdMbUgrbs; PHP RtUv)aneKtMeLIgeRcInCagmYylan Domain eTAeTot. Introduction PHP This book was uploaded by K-NN E-Book www.k-nn.info
  • 2. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 2 PHP 4> enAeRkayqñaM 1998 Zeev nig Andi gakeTABitnitüelIkargar PHP 3 ehIyBYkeKmanKMnitfaBYkeKGacsrsrnUv script language eLIgvijeGaymanlkçN³l¥RbesIrCagmuneTAeTot kñúgxN³eBlEdl PHP 3 kMBugbnþkareFVIsm<½n§ nig RbtibtþikarenaH PHP 4 k¾ cab;epþImbegáItnUvKMrUfµI KW “compile first, execute later.” tMNak;kalénkar compile minRtUv)an complie PHP Script eGayeTACa machine code enaHeT vaCMnYsedaykar compile eTACa byte code EdleFVI karRbtibtiþkar eday Zend Engine ( Zend mkBIBaküfa Zeev nig Andi ) . viFIsaRsþfµIsMrab;karRbtibtþi script enHGaceFVIeGay PHP 4 tMeNIrkar)anl¥RbesIreRcInCa PHP 3 ehIyRtUv)andak;bgðajnUv PHP 4 enHkñúg Ex ]sPa qñaM 2002 b:uEnþedaymankarpøas;bþÚrenAkñúgPasaenHCabnþbnÞab;eTIb PHP 4 )anbegáItnUvCMnan;rbs;xøÜn Ca PHP 4.1.0 nwg )anbgðajnUvSuperglobals dUcCa $_GET nig $_POST . Edl Superglobals enHGacykmkeRbIR)as;BI xagkñúg Functions edaymincaM)ac;eRbI global keyword. rhUtdl;CMnan;cugeRkayrbs; PHP4RtUv)an bgðaj Cacug eRkaybg¥s;enAéf¶TI27 Ex FñÚ qñaM 2002 . PHP 5 > edaymantMrUvkarCaeRcInnUvlkçN³rbs; object-oriented Andi k¾manKMnitsresrnUvObject-Oriented sMrab;CaEpñkén Zend Engine. Zeev and Andi )ansresrnUvÉksarGMBI “ Zend Engine II : Feature Overview and Design ” ehIycab;epþImBiPakSaKñaGMBI PHP‟s eTAéf¶GnaKtEdlkñúgCMnan; PHP 5 mancMnucCaeRcInEdlnwgRtUvEkERb bEnßm b¤ rMelaHecal . PHP‟s minRtwmEtERbRbYledayGaceGayeRbIR)as;nUvlkçN³ Object-Oriented b:ueNÑaHenaHeT vaEfmTaMg pÞúknUvmux garfµI²CaeRcInEdlbBa©ÚlCamYymuxgarsMrab; XML ehIyCaBiessenaH KW SimpleXML extension EdleFVIeGay manPaBgayRsYl kñúgkarsRmbsRmYlCamYyÉksar XML nig SOAP b¤ MySQLi fµI ehIynwg extensions epSg² eTotEdlCacMnucsMxan;enAkñúg PHP‟s . eKrMBwgfa PHP 5 nwgGackøayCaGñknaMmuxeK enAelITIpSarénkarGPIvDÆn_ web . 
  • 3. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 3 ច្េច្ ៀនទ្យី ២ 1.អថេរ (Variables) > VariableKWCaRKwHd¾sMxan;sMrab;PasakMuBüÚT½rvaRtUv)aneKeRbIedIm,IpÞúknUvtMélCabeNþaHGasnñenAeBlEdlRbtibtþikar script mþg² . variable RtUv)anpþl;tMéleTAeGay enAeBlEdl Script cab;epþImtMeNIrkar b¤ enAeBlGñkeRbIR)as;bBa¢Úl b¤)anmkBIkarcab;ykTinñn½yBI DatabaseGñkGaceRbIR)as; variable RKb;eBlTaMgGs; enAeBlEdl script cab;epþImtM eNIrkarCamYyTinñn½y ehIyGñkGacEkERb tMélEdl Variable enaHpÞúkBIkarRbtibtþikar script mYyeTAkan;karRbtibtþikar rbs;script mYyepSgeTot rhUtdl;eBlEdl script rbs;GñkRtUv)anbBa©b;. sMrab;Pasa PHP eQµaHrbs; variable RtUvEtcab;epþImedaynimitþsBaØa $ (dollar sign)GñkGacpþl;nUveQµaHrbs; variable CatYGkSr tMélelx b¤ underscore ( _ ) k¾b:uEnþGñkminGaceRbIGkSrdkXøaCamYyeQµaHrbs; variable enaHeT . ]TahrN_xageRkamKWCakarpþl;eQµaHeTAeGay variable EdlRtwmRtUv³ $sok ; $sok_som_neang ; $_Dara ; $Chenda22 ; ]TahrN_karpþl;eQµaHeTAeGay variable EdlminRtwmRtUv ³ $123 ; $*ABC ; $A+B ; Variable rbs; PHP GacpÞúknUvRbePTTinñn½yEdlCatMélelx tYGkSr object , arrayBooleans ehIyral;cMnuHrbs; variable GaceFVIkarpøas;bþÚrRKb;eBlevla . CaTUeTAkarRbkasVariable b¤ karpþl;tMéleTAeGay variable GñkGacGnuvtþn_nUv statement dUcxageRkam . $num1 = 5; $num2 = 8; karRbkas variable BIr xagelIGñk)aneRbIR)as;nUv assignment operator (=) Edlnwgerobrab;lMGitenAkñúgemeron “ Operator and Expression “ .bnÞab;BIGñk)anpþl;nUvtMéleTA variablerYcral;ehIy GñkGacykvamk eRbIR)as;)an dUcxageRkam ³ print $num2; vamantMélesµInwgkareRbI print 8; dUcecñHmann½yfa $num2 pÞúktMémø 8 cUrcgcaMfaral;cugbBa©b;énr)aykarN_rbs;PHP nimYy²RtUvEtbBa©b;edaysBaØa ( ; ) semicolon. 2 Data Types > RbePTxus²KñaénTinñn½yRtUv)aneRbIR)as;nUvcMnYnsrubrbs;GgÁcgcaMepSg²Kña ehIyvaGacRbRBwtþeTAenAeBlGñk erobcMvaenAkñúgscript rbs;Gñk . manPasakmµviFImYycMnYnTamTareGayGñksresrkmµviFI RbkasnUvRbePT énTinñn½y Building Block
  • 4. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 4 BImux variable edayELksMrab;Pasa PHP kareRbIR)as; variable KWmanPaBgayRsYl edayvanwgeFVIkarKNna nUvRbePTTinñn½yedaysV½yRbvtþienAeBlEdlGñk)anpþl;tMéleTAeGayva. Standard Data Types RbePT ]TahrN_ BiBN’na Integer 5 pÞúknUvtMélelxCacMnYnKt; Double 3.234 pÞúknUvtMélelxCacMnYnTsPaK String "hello" pÞúknUvtMélCabnþMúéntYGkSr Boolean True pÞúknUvtMélBiessKWtrue b¤false Array emeronTI Object emeronTI ]TahrN_1 Gettype.php 01: <html> 02: <head><titile>Display Data Type</title> 03: </head> 04: <body> 05: 06: <h2>Using gettype</h2> 07: 08: <?php 09: $testing; 10: Print gettype($testing);// NULL 11: $testing = 5; 12: print gettype($testing); // integer 14: print "<br />"; 15: $testing = "five"; 16: print gettype($testing); // string 17: print "<br />"; 18: $testing = 5.0; 19: print gettype($testing); // double 20: print "<br />"; 21: $testing = true; 22: print gettype($testing); // boolean 23: print "<br />"; 24: ?>
  • 5. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 5 25: 26: </body> 27: </html> enAeBlEdl variable $testing RtUv)anRbkasenAbnÞat;TI 09 edaymin)anpþl;tMéleTAeGayva dUcecñHenAeBlEdleRbIR)as; gettype() function edIm,IRtYtBinitü variable enAbnÞat;TI10 enaHGñknwg TTYl)annUv lT§pl CaGkSr Null . bnÞab;BIenH variable $testing RtUv)anpÞl;nUvtMélCatYelxenAbnÞat;TI 11 KWelx 5 EdlCacMnYnKt; b¤ GñkGacniyay)anfatMélelxEdlKµanek,ósdUecñHlTÞplEdlnwgTTYl)anbnÞab;BIkareRbIR)as;nUv gettype() function bnÞat;TI12 KW // integercMENkkarpþl;nUvtMél "five" eTAeGay variable $testing enAbnÞat;TI 15 KWCabnþMúéntYGkSr .enAeBlEdlGñkcg;eFVIkarCamYytMélCa string GñkRtUvEtdak;tMélenaHsßitenAkñúgcenøaH sBaØa ( “ ) Double quotation mark b¤( „ ) single quotation mark . tMélCaRbePT double RtUv)anpþl;eTAeGay variable $testing EdlsßitenAbnÞat;TI 18CatMélelx 5.0 EdltMélenHCatMélelxTsPaK b¤ CatMélelxEdlmanek,ós. tMélCaRbePT Boolean RtUv)anpþl;eTAeGay variable $testing enAbnÞat;TI 21 ehIytMélenHGacmanEtBIrb:ueNÑaHKW true b¤false . sMKal; ³ PaBxusKñarvakareRbIR)as;nUv(“ ) double quotation mark nig( ‘ ) single quotation mark Double quotation mark GnuBaØatieGayeyIgeRbIR)as;nUv variable bBa©ÚlCamYy BIeRBaH PHP engine nwgCMnYsnUvtMélEdlCa variable .sUmBinitüemIl]TahrN_xageRkam- $name = "Rithya"; > print "hello, $name"; // hello,Rithya > RbsinebIGñkeRbIR)as;nUv single quotation mark variable minRtUv)anCMnYsedaytMélenaHeT. print 'hello, $name'; // hello, $name > ]TahrN_2 Quotation.php 01: <html> 02: <head><title>Single Quotation and Double Quotation mark</title> 03: </head> 04: <body> 05: <h2> Using double quatation and Signle quatation mark</h2> 06: 07: <? 08: $name = "Rithya"; 09: print "Hello,$name<br/>"; // Hello,Rithya 10: print 'Hello,$name'; // Hello,$name 11: ?> 12: 13: </body> 14: </html>
  • 6. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 6 3.Displaying Type Information with var_dump()> gettype() KWCa function EdleRbIedImI,TTYlnUvRbePT variable edayELk var_dump() eRbIedIm,IR)ab;nUvRbePT variable nig cMnuHrbs;va . eRcInCagenHeTAeTot sMrab;RbePTtMélEdlsµúKsµajdUcCa arrays nig object var_dump() pþl;eGaynUvBt’manRKb;RbePTEdlmanenAkñúgVariable enaH . ]TahrN_3 Var_dump.php 01: <html> 02: <head> 03: <title>Displaying Type Information with var_dump</title> 04: </head> 05: <body> 06: <h2>using Var_dump</h2> 07: 08: <?php 09: $testing=5; 10: print var_dump($testing); 11: ?> 12: 13: </body> 14: </html> 4.The Cast Operators PHPpþl;eGaynUvviFIedIm,eFVIkarpøas;bþÚrnUvRbePTTinñn½yedayeRbIR)as;castoperators dUcmanerobrab;kñúg taragxageRkam³ Operator Changes Type To (int), (integer) Integer (float), (real), (double) Floating point (string) String (bool), (Boolean) Boolean (array) Array (object) Object ]TahrN_5 Casting.php <html> <head> <title>Casting variable</title> </head> <body> <h2>Using Casting to Changing Type</h2> <?php $unexpect=3.14;
  • 7. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 7 $holder = (double)$unexpect; print gettype($holder); print "--- $holder<br/>"; $holder = (string)$unexpect; print Gettype($holder); print "-- $holder<br/>"; $holder = (integer)$unexpect; print gettype($holder); print "-- $holder<br/>"; $holder = (Double)$unexpect; print gettype($holder); print "---- $holder<br/>"; $holder = (boolean)$unexpect; print gettype($holder); print "-- $holder<br/>"; ?> </body> </html> 5.Operators and Expressions > Operators KWCanimiµtsBaØaTaMLayNaEdlGñkGaceRbItMélmYy b¤ eRcIn begáItecjCatMélfµImYyeTot ehIytMélEdlRbtibtþieday operator enaHRtUv)aneKehAfa operand . Operand KWCatMélEdlcUlrYmCamYy operator EdlCaTUeTA man operand BIrCamYyOperator mYy . ]TahrN_kareRbIoperand BIrCamYy operator edIm,IbegáItecjCatMélfµImYyepSgeTot. 4 + 5 > 4 ehIynig5 KWCa operand EdlRtUv)an operated eday addition operator (+) edIm,IbegáItnUvtMélfµI KW9 . karpþMúnUv operand nigoperator edIm,IbegáItCalT§pl RtUv)aneKehAfa expression 5.1 The Assignment Operator > Assignment operators eRbIedIm,Ipþl;nUvtMéleTAeGay variable . dUcEdlGñk)anCYbxagelI assignment operator RtUv)an initialize variable RKb;eBl vaKWCaGkSr ( = ) .Assignment operator cab;yktMélBI operand xagsþaMeTAeGay operand xageqVgdUc]TahrN_ xageRkam ³ $name = “ DYCHANDOEUN “ ; Print $name; >
  • 8. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 8 CaTUeTAxageqVgénAssignment operator eRcInEtCa variable . 5.2 Arithmetic Operators Arithmetic Operators Operator Name Example Result + bUk ( Addition ) 10+5 15 / Eck ( Division ) 10/3 3.333333333333 * KuN ( Multiplication ) 10*5 50 % yksMNl;BIplEck ( Modulus ) 10%3 1 - dk ( Subtraction ) 10-2 2 5.3 The Concatenation Operator ( . ) > Concatenation operator eRbIedIm,IP¢ab; string sMrab; operator mYyenHvaeFVIkarCamYyEt string b:ueNÑaH . dUecñHral;operand EdlminEmnCa string vanwgconvert eGayeTACa string sUmBinitüemIl]TahrN_³ "hello"." world" karsresrEbbenHvaesµInwgkarsresr "hello world" . $year = 2007; > Print "Happy khmer new year_".$year ; > Variable $year EdlCaRbePT integer RtUv)anbMElgeTACa string " 2007 " mun eBlEdlvaRtUv)anP¢ab;CamYy string “ Happy khmer new year ” . 5.4 Combined Assignment Operators > $x = 4; > $x = $x + 4; // lT§pl $x KW 8 b¤GñkGacCMnYsedaykarsresrdUcxageRkam $x = 4; $x += 4; // $ lT§pl $x KW 8 Some Combined Assignment Operators Operator Example Equivalent to += $x += 5 $x = $x + 5 -= $x -= 5 $x = $x – 5 /= $x /= 5 $x = $x / 5 *= $x *= 5 $x = $x * 5
  • 9. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 9 Some Combined Assignment Operators Operator Example Equivalent to %= $x %= 5 $x = $x % 5 .= $x .= " test" $x = $x." test" 5.5 Comparison Operators > Comparison operators eRbIedIm,IeRboeFobnUv operands TaMgLay edaypþl;nUvtMélRtlb;Ca Boolean ( true or false ) . ]TahrN_edIm,IRtYtBinitütMélEdlmanenAkñúg $x nigCatMélEdltUcCagR)aM GñkGaceRbICamYynwg less than operator . $x < 5 RbsinebI $x pÞúktMél elx 4 expression xagelInwgpþl;CatMél true b:uEnþRbsinebI $x pÞúktMélCaelx 7 enaH expression nwgpþl;nUvtMél false . Comparison Operators Operator eQµaH pþl;tMél True RbsinebI ($x KW4) == smmUl tMélxageqVg esµItMélxag sþaM $x == 5 != Non-equivalence tMélxageqVg xusBItMélxagsþaM $x != 5 = = = Identical tMélxageqVg esµItMélxagsþaM ehIy tMélTaMgBIrRtUvEtmanRbePTdUcKña $x===5 > FMCag tMélxageqVgFMCag tMélxagsþaM $x > 4 >= FMCag b¤esµI tMélxageqVgFMCag b¤esµItMélxagsþaM $x >= 4 < tUcCag tMélxageqVgtUcCag tMélxagsþaM $x < 4 <= tUcCag b¤esµI tMélxageqVgtUcCag b¤esµItMélxagsþaM $x <= 4 Operator xagelIenHPaKeRcIneRbICamYy integers or double ehIysMrab; operator( == ) KWeRbIedIm,IeRbobeFobtMélEdlCa strings .
  • 10. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 10 5.6 Logical Operators> Logical Operators Operator Name Returns True if... Example Result || Or Left or right is true true || false True Or Or Left or right is true true || false true Xor Xor Left or right is true but not both true xor true false && And Left and right are true true && false false And And Left and right are true true && false false ! Not The single operand is not true ! true false Logical operators bMElg operand eGayeTACatMél Boolean rYceFVIkareRbobeFobtMélTaMgenaH . Or operator b¤( || ) pþl;tMél true RbsinebIoperand xageqVg b¤ xagsþaMNamYymantMél true . ]TahrN_ 1> true || false lT§plKW true .And operator b¤ ( && ) pþl;tMél true enAeBlEdl operand TaMgBIrmantMél true . ]TahrN_2> true && false lT§plKWfalse . ]TahrN_3> ( $x > 2 ) && ( $x < 15 ) 5.7 Increment/Decrement Operators Increment/decrement operators eRbIedIm,IbegáIn b¤ bnßytMél rbs; variable EdlCa Integer ehIyCaTUeTAeRbIedIm,Irab; Iteration rbs;loop . $x = $x + 1; // $x is incremented. $x += 1; // $x is incremented. $x++; // $x is incremented . $x = $x - 1; // $x is decremented. $x--; // $x is decremented. $x- = 1; // $x is decremented.
  • 11. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 11 Operator Name Effect on $var Value of the Expression $var++ Post-increment $var is incremented by 1 The previous value of $var ++$var Pre-increment $var is incremented by 1 The new value of $var (incremented by 1). $var-- Post-decrement $var is decremented by 1 The previous value of $var --$var Pre-decrement $var is decremented by 1 The new value of $var (decremented by 1). ]TahrN_ $num1 = 5; $num2 = $num1++; // post-increment, $num2 RtUv)anpþl;nUvtMéledImrbs;$num1 print $num1; // lT§plEdlnwgRtUvbgðajKWtMélrbs; $num1 KW 6 print $num2; // lT§plEdlnwgRtUvbgðajKWCatMéledImrbs; $num1 KW 5 ]TahrN_³ $num1 = 5; $num2 = ++$num1; // pre-increment, $num2 RtUv)anpþl;nUvtMélfµIrbs; $num1 eTAeGay $num2 . print $num1; // lT§plEdlnwgRtUvbgðajKWtMélrbs; $num1 KW 6 print $num2; // lT§plEdlnwgRtUvbgðajKWCatMélrbs; $num1 KW 6 6.Constants > CaTUeTA Variables RtUv)aneKeRbIedIm,IpÞúknUvtMél BIeRBaHtMél nig RbePTrbs;vaGac nwgRtUvpøas;bþÚr)anRKb;eBlevla . RbsinebIGñkcg;eFVIkarCamYytMélEdlminERbrRbYlenAkñúgkar RbtibtþikarkUdrbs;Gñk GñkGaceRbIR)as;nUvconstant . PHP )anpþl;nUvdefine() function edIm,I begáItnUv constant . define("CONSTANT_NAME", 42); >
  • 12. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 12 tMélEdlGñkGacpþl;eTAeGayconstant KWRtUvEtCa tMélelx b¤tYGkSr ehIysMrab;kar pþl;eQµaHrbs; constant GñkKYrEteRbIGkSrFM . ralkar;eRbIR)as; constant variable GñkRKan;yk eQµaHrbs; constant enaHmkeRbIb:uEnþminmansBaØa ($) dollar symbol enABImuxenaHeT. ]TahrN_6 constant.php 01: <html> 02: <head> 03: <title>Defining a constant</title> 04: </head> 05: <body> 06: <div> 07: 08: <?php 09: define("USER", "Ankor"); 10: print "Welcome ".USER; 11: ?> 12: 13: </div> 14: </body> 15: </html> enAbnÞat;TI 10 eyIg)aneRbIconcatenation operator edIm,IP¢ab;tMélrbs; constant nig GkSr "Welcome" BIeRBaH PHP engine minmanviFIsaRsþedIm,IEbgEck rvag constant nig string EdlenAkñúg quotation mark enaHeT. Ca Default constant KW case sensitive b:uEnþGñkGacpøas;bþÚredayTTYlyknUv argument TI3Ca boolean mkeRbIkñúg define() function edIm,IkMNt;eGaykareRbIR)as;eQµaH constant Ca Case insensitive dUcmankñúg]ThrN_xageRkam . define("USER", "Ankor", true); > dUecñHGñkGaceRbIR)as; constant edayminmankarxVayxVl;GMBIGkSrtUcb¤FMeLIy . print User; print usEr; print USER; ]TahrN_7 constant2.php <html> <head> <title>Defining a constant</title> </head>
  • 13. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 13 <body> <div> <?php define ("USER", "Angkor",true); print "Welcome".uSER."<br/>"; print "Welcome".uSeR."<br/>"; print "Welcome".usEr."<br/>"; print "Welcome".uSER."<br/>"; ?> </div> </body> </html>
  • 14. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 14 ច្េច្ ៀនទ្យី ៣ 1. The if Statement If statement KWCaviFIsaRsþEdleRbIedIm,IRtYBinitüeTAelIkarRbtibtþikarrbs; statement EdlenAbnÞab;va ( GacCa single statement b¤ Ca block of code EdlzitnUvkñúgsBaØa {-------} ) If statement eFVIkarvaytémø expression EdlenAkñúgsBaØa (---) RbsinebI expression rbs; ifpþl;tMél true enaH statement EdlenAxaeRkamnwgRtUvGnuvtþn_ . kUdxageRkambgðajBI TMrg;énif statement EdlRtYtBinitüexpression Ca string . if(expression) { // code EdlnwgRtUvGnuvtþn_enAeBlEdl expression pþl;tMél true } ]TahrN_8 <Html> <head> <title> Using if Statement </title> </head> <body> <h2>Using if statement</h2> <?php $user="Thanith"; $pwd="123"; If(($user= ="Thanith" && pwd= ="123")) print "Login successful"; else print "Login fail !"; ?> </body> </Html> kareRbIR)as;comparasion operator (==) edIm,IeRbobeFob variable $user nig tMélCaGkSr" Thanith " variable $pwd CamYynwgtMél "123" RbsinebItMélEdlRtUveRbobeFobnigtMélrbs; variable dUcKñaenaH expression nwgpþl;tMél true ehIycode block nwgRtUvGnuvtþn_b:uEnþRbsinebItMélrbs;$user bþÚreTACa "Romchong" b¤ tMélrbs; $pwd bþÚreTACa "124" ehIytMeNIrkar scripteLIgvij enaH expression EdlenAkñúg if statement niwgpþl;tMél falseehIyCode block nwgminRtUvGnuvtþn_ Edl script nwgEbreTAGnuvtþn_nUv else statement CMnYsvij . else print "Login fail !"; [[[[[[[ Going With The Flow
  • 15. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 15 1.1 Using the else if Clause with the if Statement GñkGaceRbIR)as;nUvTMrg; if/else b¤else/if edIm,IeFVIkarBinitüelI expression muneBlEdl Script rbs;GñkRtUvGnuvtþn_ nUv default block of code . if ( expression ) { // code EdlRtUvGnuvtþn_RbsinebI expression pþl;témø true } else if ( another expression ) { // code EdlRtUvGnuvtþn_RbsinebI expression dMbUgpþl;témø false // ehIyexpression rbs;va true } else { // code EdlRtUvGnuvtþn_RbsinebIBMumanexpression NamYy true } RbsinebI expression dMbUgminpþl;nUvtMél true enaH block of code dMbUgk¾minRtUv)an Gnuvtþn_Edr else if cab;epþImeFVIkarCamYy expression rbs;xøÜn RbsinebI expression enHpþl;tMémø True enaH block kUdTI2 nwgRtUvGnuvtþn_ pÞúymkvijkUdEdlsßitenAkñúg else clausenwgRtUvGnuvtþn_CMnYsvij . GñkGaceRbIR)as;else if )anCaeRcIneTAtamkarcg ;)anrbs;GñkehIyRbsinebI Gñkmin cg;eGaymanDefault action eT GñkmincaM)ac;eRbIR)as;else clause enaHeT. 2. The switch Statement > switch statement KWCaviFIsaRsþEdleRbIedIm,Ipøas;bþÚrlMdab;énkarGnuvtþn_kUdrbs;kmµviFIEdlGaRs½yeTAelI karvaytMélrbs; expression . kareRbIR)as; if statement CamYy else if GñkGaceRbIR)as; expression)aneRcIn eday ELk switch eRbIR)as;Et expression mYyb:ueNÑaH .karGnuvtþn_ code xus²KñaKWGaRs½yeTAelIlT§plénexpression Edlpþl;tMélCa simple typedUcCa ( number , string , Boolean……. l.) . switch (expression) { case exp: // execute this if expression results in result1 break; case exp: // execute this if expression results in result2 break;
  • 16. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 16 default: // kUdnwgRtUvGnuvtþn_RbsinebIminman expression NadUcnwgexpression rbs;case } Expression rbs; switch statement CaTUeTARtUv)aneRbICa variable ehIy coderbs; switch statement RtUvsresrenAkñúg case statement . ral;tMél expression rbs; casenimYy² RtUv)anykmkepÞogpÞat;CamYy expression rbs; switch statement RbsinNatMélrbs;case NamYydUcnwg expression rbs; switch statement enaH code block nwgRtUvGnuvtþn_ bnÞab; mk break statement nwgbBa©b;karGnuvtþn_ switch statement b:uEnþRbsinebIBMuman case expression NamYydUcnwgswitch expression enaH default statement KWCaGñkGnuvtþn_. ]TahrN_ 9 <Html> <head> <title> Using switch Statement </title> </head> <body> <h2>Using switch statement</h2> <?php $name="Daro"; switch($name) { case "Dara": print " Hello Dara"; break; case "Many": print "Hello Many"; break; case "Daro": print "Hello Daro"; break; Default: print "No one know"; } ?>
  • 17. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 17 </body> </Html> 3. Loops > Loop statement GaceGayGñkGnuvtþn_nUvkargarmþgehIymþgeTotenAkñúg programrbs;Gñk rhUtdl;vasMerc lkç½NÐb¤GññkbBa¢aeGaycakecjBI loop . 3.1 The while Statement > While loops KWCaRbePTmYyén loops . expression rbs;vapþl;CatMél true b¤ false dUecñHRbsinebI expression pþl;tMélCalT§pl true enaH code block nwgRtUvGnuvtþn_ Edl blockCode sßitenAkñúg loop enaH RtUv)aneKeGayeQµaHfa iteration . while ( expression ) { // do something } ]TahrN_10 while.php <html> <head><title>The While Statement</title> </head> <body> <h2>Using the While Statement</h2> <?php $sum=0;$i=1; $str=""; While ($i<=10) { $sum+=$i; $str= $str."$i+"; $i++; } echo substr($str,0,-1)."=$sum"; ?> </body> </html> 3.2 The do...while Statement > do..while statement vamanlkçN³Rbhak;RbEhlnwg while statement b:uEnþlkçN³BIrEdlxusKñaBI while statement KW block code rbs; do while statement Gnuvtþn_muneBlEdl Expression rbs;vaRtUv)an test nig pþl;tMél true b¤false .
  • 18. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 18 do { ……………………… // code to be executed ……………………… } while (expression); Test expression éndo...while statement RtUvEtbBa©b;eday ( ; ) semicolon. > ]TahrN_11 dowhile.php <html> <head><title>The Do While Loop Statement</title> </head> <body> <h2>Using the do while Statement</h2> </body> </html> <?php $sum=0;$i=1;$str=""; Do { $sum=$sum+$i; $str= $str."$i+"; $i=$i+1; } While ($i<=10); { $i=$i-1; echo substr($str,0,-1)."=$sum"; } ?> 3.3 The for Statement > for ( initialization expression; test expression; modification expression ) { // code to be executed } ral; expression nimYy²EdlmanenAkñúgsBaØavg;Rkckrbs; for statement KWRtUvEbgEckKñaeday semicolon ( ; ) . expression TImYy cab;epþImrab; variable ehIyexpression TI2eFVIkarRtYtBinitülkç½Nrbs;for loop nig expression TI3begáInb¤bnßynUvcMnYnkarrab; . ]TahrN_12 forloop.php <html> <head> <title>The for Statement</title> </head> <body>
  • 19. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 19 <h2>Using for Statement</h2> <?php $sum=0;$str=""; for ($i=1; $i<=10; $i++ ) { $sum+=$i; $str= $str."$i+"; } echo substr($str,0,-1)."=$sum"; ?> </body> </html> enAeBlEdl program tMeNIrkardl; for loop variable $i RtUv)aninitialize ehIyTest expression cab;epþImRtYtBinitüeTAelI expression rbs;xøÜn RbsinebIexpression pþl;tMélTrue enaHcode block nwgRtUvGnuvtþn_ bnÞab;mk $i variable eFVIkarbegáIntMélmYyehIytestExpression cab;epþImeFVIkarRtYtBinitüeTAelI expression rbs;xøÜnsarCafµImþgeTot. RbtibtþikarenHbnþkarGnuvtþn_rhUtdl; test expression pþl;tMél false . 3.4 Breaking Out of Loops with the break Statement > ral; loop statement KWsuT§EtmanP¢ab;mkCamYynUv test expression EdlGaceGayGñk bBaÄb;va)an b¤ edayeRbIR)as; break statement . ]TahrN_13 break.php 01: <html> 02: <head> 03: <title>the break Statement</title> 04: </head> 05: <body> 06: <div> 07: 08: <?php 09: 10: $counter = -5; 11: for ( ; $counter <= 10; $counter++ ) { 12: if ( $counter == 0 ) { 13: break; 14: } 15: $temp = 2000/$counter; 16: print "2000 divided by $counter is.. $temp<br />"; 17: } 18: ?> 19:
  • 20. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 20 20: </div> 21: </body> 22: </html> eyIg)aneRbIR)as;nUv if statement enAbnÞat;TI 13 edIm,IRtYBinitünUvtMélrbs; variable$counter RbsinebItMélrbs;vaesµInwgsUnü 0 break statement nwgRtUvGnuvtþn__ EdlRtUvcakecjBIBlock code rbs; for loop statement ehIyGnuvtþn_nUvstatement EdlenAbnÞab;BIfor statement . 3.5 Skipping an Iteration with the continue Statement > Continue statement bBaÄb;tMeNIrkarrbs; iteration EdlkMBugGnuvtþn_ bu:EnþminbBaÄb; tMeNIrkarrbs; loop TaMgRsugenaHeT vanwgbnþeFVIkarCamYy iteration eRkay²bnþeTot rhUtdl; Expression pþl;tMél false b¤ CYb nwg break statement . ]TahrN_ 14 continue.php 01: <! 02: exam continue statement 03: > 04: <html> 05: <head> 06: <title>Using the continue Statement</title> 07: </head> 08: <body> 09: <div> 10: 11: <?php 12: 13: $counter = -5; 14: for( ; $counter <= 10; $counter++ ) 15: { 16: if ( $counter == 0 ) 17: { 18: continue; 19: } 20: $temp = 2000/$counter; 21: print "2000 divided by $counter is .. $temp<br />"; 22: } 23: 24: ?> 25: 26: </div> 27: </body> 28: </html> enAbnÞat;TI14eyIg)anCMnYs break statement edaykareRbIR)as; continue statementRbsinebI variable $counter esµI0 iteration nwgRtUvrMlgkarGnuvtþn_ ehIybnþGnuvtþn_ iteration CabnþeTot .
  • 21. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 21 3.6 Nesting Loops > ]TahrN_15³ nestingLoop.php 01: <html> 02: <head><title>using nested loop</title> 03: </head> 04: <body> 05: <h2>Using nested loop</h2> 06: 07: <?php 08: 09: $j=0;$i=0; 10: for($i=0;$i<=5;$i++) 11: { 12: print "The Value i=".$i."<br/>"; 13: for($j=0;$j<=3;$j++) 14: { 15: print "value J=".$j."<br/>"; 16: } 17: } 18: 19: ?> 20: 21: </body> 22: </html> kareRbIR)as;for statement edIm,Ibgðaj table eTAkan;brower . Nesting Two for Loops 01: <! 02: Nesting loops 03: > 04: <html> 05: <head>
  • 22. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 22 06: <title>Nesting Two for Loops</title> 07: </head> 08: <body> 09: <div> 10: 10: <?php 11: 12: print "<table border="1">n"; 13: for ( $y=1; $y<=12; $y++ ) 14: { 15: print "<tr>n"; 16: for ( $x=1; $x<=12; $x++ ) 17: { 18: print "t<td>"; 19: print ($x*$y); 20: print "</td>n"; 21: } 22: print "</tr>n"; 23: } 24: print "</table>"; 25: 26: ?> 27: 28: </div> 29: 30: </body> 31: </html>
  • 23. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 23 ច្េច្ ៀនទ្យី ៤ 1.What is Functions ? Function KWCabnþMúén block code EdlGñkbegáIt ehIyGnuBaØatieGayGñkehA ykmkeRbI enAkñúg script rbs;Gñk . enAeBlEdlGñkehA function kUd EdlenAxagkñúgnwgRtUvGnuvtþn_ ehIyGñkk¾Gac bBa¢ÚntMéleTAeGay function b¤ TTYltMélBIfunction mkvij. 1.1 Calling Functions > Function manBIrRbePTKW Function EdlmanRsab; P¢ab;mkCamYynwgPasakmµviFI nigFunction EdlGñkbegáIteLIgedayxøÜnÉg . enAkñúgPasa PHP man built-in function CaeRcInEdlpþl;nUvPaBgayRsYlsMrab; karsresrkUdrbs;Gñk. 1.2 Defining a Function > GñkGacbegáIt function edayeRbI function statement function function_name( $argument1, $argument2 ) { // } RbsinebIfunction rbs;GñktMrUveGayman argument cab;BIBIreLIgeTA GñkRtUvEtEckvaedayeRbIR)as;sBaØa comma( , ) EdlCaTUeTA argument TaMgenaHKWCa variable ehIytMélrbs;vanwgRtUvpþl;eGayenAeBlEdl function RtUv)anehA. ]TahrN_16 Declaring a Function <html> <head> <title>Declaring a Function</title> </head> <body> <?php function bigsum() { $sum=0; for ($i=1; $i<=10; $i++ ) { $sum+=$i; > $str= $str."$i+"; } echo substr($str,0,-1)."=$sum"; } bigsum(); ?> </body> Function
  • 24. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 24 </html> lT§plEdlbgðajenAelIbrowser KWCa string éntYrGkSr1+2+3+…………+10 = 55]TahrN_xagelIenHKW CakarbegáItnUv function mYyeQµaHfa bigsum()EdlCa function minmannUv Arguments enaHeT .sMrab;]TahrN_TI 20 eyIgnwgbegáIt function EdleRbIR)as; argument . ]TahrN_ 20 01: <html> 02: <head> 03: <title>Declaring a Function</title> 04: </head> 05: <body> 06 07: <?php 08: 09: function bigsum($count) 10: { 11: $sum=0; 12: for($i=1; $i<=$count; $i++ ) 13: { 14: $sum+=$i; 15: $str= $str."$i+"; 16: } 17: echo substr($str,0,-1)."=$sum"; 18: } 19: 20: bigsum(10); 21: 22: ?> 23: 24: </body> 25: </html> 1.2.1 Returning Values from User-Defined Functions > enA]TahrN_xagelIeyIgTTYl)annUvlT§plCa string enAelI browser edaykareRbIR)as; bigsum() function . function rbs;GññkGaceFVIkarpøas;bþÚrtMélEdlGñk)anpþl;eGayb¤ maneBlxøHGñknwgcg;eGay function pþl;nUvtMélfµIeGayGñk bnÞab;BIGñk)anpþl;tMéleTA»óva. Function mYyGacTTYl)antMéledaykareRbIR)as;nUv returnstatement CamYynwgtMélEdlRtUvbBa©ÚnRtlb; eTAkan;function.return bBaÄb;Rbtibtþikarrbs; function ehIybBa¢ÚntMélRtlb;eTAvijenAeBlEdl function RtUv)anehAmkeRbI.xageRkamKWCa]TahrN_énkarbegáIt function Edl return tMélBIplbUlcMnYnBIrtMél . ]TahrN_ 21 01: <html> 02: <head> 03: <title>A Function That Returns a Value</title> 04: </head> 05: <body> 06: 07: <?php 08 09: function addNums($num1,$num2) 10: {
  • 25. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 25 11: $result = $num1 + $num2; 12: return $result; 13: } 14: print addNums(3,5); 15: 16: ?> 17: </body> 18: </html> addNums() Function RtUv)anehAykmkeRbIR)as;CamYynwgargument cMnYnBIrEdlCatMélelx 3 nig elx 5 EdltMélTaMgenHRtUv)anrkSaTukenAkñúg variable $num1 nig $num2addNums function eFVIkarKNnanUvplbUként MélEdlrkSaTukenAkñúg variable TaMgBIrehIypþl;CalT§pleTAeGay variable $result .Gñkk¾Gac return tMéledaykarehA function déTeTot)anpgEdr return ( another_function( $an_argument ) ); 2. Variable Scope Variable EdlRbkasenAxagkñúg function KWGaceRbIR)as;)anEtenAxagkñúg function enaHb:ueNÑaH mann½yfaminGaceRbIR)as;)anenAxageRkAfunction b¤enAkñúg function déTeTot . sMrab; project FM²vaGacCYyGñkBIeRKaHfañk;énkarEkERbtMélEdlmanenAkñúg variableeBlEdlGñkRbkas variable BIrehIymaneQµaHdUcKña nigzitenAkñúgfunction epSg²Kña . xageRkamKWCa]ThrN_ sþIBIkarbegáIt variable mYyenAkñúg function ehIyBüayamykVariable enaHmkbgðajelI browser BIeRkA function . cMNaM³ VariableEdlbegáItenAxagkñúg function minGaceRbIR)as;BIxageRkAfunction )anenaHeT. ]TahrN_ 22³ 01: <html> 02: <head> 03: <title>Local Variable Unavailable Outside a Function</title> 04: </head> 05: <body> 06: <div> 07: 08: <?php 10: 11: function test() 12: { 13: $testvariable = "this is a test variable"; 14: } 15: print "test variable: $testvariable<br/>"; 16: 17: ?> 18: </div> 19 </body> 20: </html> Gñknwg)aneXIjnUvlT§plén]TahrN_xagelI EdltMélrbs; variable $testvariableminRtUv)anbgðajenaHeT BIeRBaHBMuman variable NamYyRtUv)an)anbegáItenAxageRkAfunctiontest() enaHeT. KYrcMNaMfakaryk variable Edlminman mkeRbIR)as;KWminmanPaB error eLIy.müa:gvijeTotvariable EdlRbkasenAxageRkA function KWminGacykmkeRbIkñúgfunction edaysV½yRbvtþienaHeT.
  • 26. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 26 2.1 Accessing Variables with the global Statement > maneBlxøHGñkRbEhlCaRtUvkareRbIR)as; variable enAkñúg function rbs;GñkedayBMutMrUv eGaymankarbBa¢ÚntMéltam argument enaHeT . xageRkamKWCa]TahrN_EdleRbIR)as;nUv global statement edIm,IeRbIR)as;nUv variable EdlRbkasxageRkA function . ]TahrN_23³ 01: <html> 02: <head> 03: <title>The global Statement</title> 04: </head> 05: <body> 06: 07: <?php 08: 09: $lottery=42; 10 11: function lotteryToday() 12: { 13: global $lottery; 14: print "Lottery today is $lottery<br />"; 15: } 16: 17: lotteryToday(); 18: ?> 19: </body> 20: </html> enAbnÞat;TI 13 én]TahrN_TI23 eyIg)aneRbIR)as;nUv global BImux variable $lotteryEdl)anRbkasenAkúñg function lotteryToday() edIm,IsMedAeTAkan; global variable $lottery Edl)anRbkasenAxageRkA function enAbnÞat;TI 09 . GñkRtUvEteRbIR)as;nUv global statement enAral; function EdlGñkcg;eRbIR)as;nUv global variable. GñkKYrRbugRby½tñpgEdrenAeBlEdlGñkpþl;tMéleTAeGay variable $lottoeryenAkñúg function BIeRBaH $lottery nwgeFVIkarpøas;bþÚrtMélrbs;xøÜnTaMgGs;enAkñúg script rbs;Gñk .Gñkk¾GacRbkas variable CamYy global statement )aneRcInkñúgeBlEtmYy)anpgEdr edaykarEcknUvvariable nimYy²edaysBaØa ¬,¦comma. ]TahrN_³ global $var1, $var2, $var3;
  • 27. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 27 ច្េច្ ៀនទ្យី ៥ 1. What Is an Array? Gñkk¾)ansÁal;rYcmkehIyGMBI variable EdlRtUveKeRbIedIm,IpÞúknUvtMélepSg² . edaykareRbIR)as; variable Gñkk¾GacbegáItCa script eGayRbtibtþikar b¤ bgðajCaBt’manepSg²enAral;eBlEdlGñktMeNIrkarva b:uEnþKYreGay esaksþay edayGñkGac rkSaTuknUvtMélEtmYyb:ueNÑaHkñúgeBlEtmYy nigkñúg variable mYy. Array KWCa variable BiessEdlGnuBaØateGayGñk pÞúknUvtMél)aneRcInenAkñúg variablemYy . ral;tMélnimYy²RtUv)anrkSaTukenAkñúg index rbs; array EdlGac Caelx b¤ Ca tYGkSr . Ca default Faturbs; array EdlCa index KWcab;epþImBIelx 0 . ehtuGVI)anCaRtUveRbIR)as; array ? RbsinebIGñkmantMélcMnYn 5 EdlRtUvrkSarTuk enaHGñkR)akdCaRtUvbegáIt variable cMnYnR)aMpgEdrArray KW flexible eRBaHvaGacpÞúktMél)anBIrb¤ BIrry tMél edayBMumankaregáItnUvvariablefµIeTotehIy array k¾GaceGayGñkeFVIkarCa mYytMélrbs;va )anya:ggay dUcCa kar loop Faturbs; array nimYy² b¤ tMrabFaturbs;vaeTAlMdab;énelxerog b¤ CatYGkSr eTAtamkarkMnt;enAkñúg system rbs;Gñk . xageRkamKWCakarbgðajnUvFaturbs; users array EdlmanFatuTI4 Ca index TI3énusers . The Elements in the users Array Index Number Value Which Element? 0 Sok First 1 Sao Second 2 Setha Third 3 Mesa Fourth PHP k¾)anpþl;nUvlT§PaBedIm,IerobcMnUv indexed rbs;array edaykareRbIR)as;TaMg elx nig GkSrpgEdr. 2. Creating Arrays > GñkGacbegáItnUv array variable edayeRbiviFIBIrya:gKW kareRbIR)as;array() construct b¤ kareRbIR)as;nUvsBaØa square brackets ( [ ] ) . 2.1 Defining Arrays with the array() Construct> array()construct vamansar³RbeyaCn_enAeBlEdlGñkcg;pþl;tMéleRcIneTAeGay array kñúgeBlEtmYy. xageRkamKW]TahrN_énkarbegáIt array mYyEdlmaneQµaHfa $users ehIyeyIg)anpþl;tMélCa string cMnYnbYn tMéleTAeGayva . $users = array ("Sok", "Sao", "Mata", "Mesa"); LÚvenHGñkGacykFaturbs;$users mkeRbIR)as;edaykareRbIR)as; index rbs;array print $users[2]; Array
  • 28. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 28 lT§plén]TahrN_xagelInwg bgðajCaGkSr Mata Edl index rbs;vaehIyRtUv)andak;enAcenøaH square brackets ( [2] ) bnÞab;BIeQµaHrbs; array ( $users ) . 2.2 Defining or Adding to Arrays with the Array Identifier> GñkGacbegáIt array fµI b¤ bEnßmtMéleTAeGay array )anedaykareRbIR)as;nUv array Identifier . array identifier KWCabnþúMén squre brackets nig index rbs;va Caelx b¤ CaeQµaH.xageRkamCa ]TahrN_énkarbegáIt $users array edayeRbIvIFIsaRsþmYyepSgeTot . $users[] = " Sok"; $users[] = " Sao"; $users[] = " Dara"; $users[] = " Mesa"; ]TahrN_xagelIminTamTareGayGñkdak;nUvtMélelxEdlCa index enAcenøaH square Brackets enaHeLIy eRBaH PHP nwgpþl;tMél index edaysV½yRbvtþieTAeGay array . müa:gvijeTotGñkk¾Gacdak;nUvtMélCa index rbs; array )anpgEdr b:uEnþminmankarKaMRTeGayeFVIEbbenHenaHeTsUmBinitüemIl karsresrkUdxageRkam³ $users[0] = "Phanit"; > $users[200] = "Ratana"; Array xagelImanFatuRtwmEtBIrb:ueNÑaH b:uEnþ index cugeRkayrbs;vaKWCa index TI200 PHP nwgminkMnt tMélFatueTAeGay index EdlenAcenøaHenaHeLIy EdleFVIeGaymankarPan;RcLMenAeBlEdlcg;BüayamykFatu Edlmankñúg array enaHmkeRbI xN³eBlEdlGñkcg;eRbInUv Faturbs;va NamYyeTAtamcitþrbs;Gñk. sMrab;karbegáIt array GñkGaceRbInUv array() contstructrYceRbInUvarray identifier edIm,IbEnßmnUvFatufµIeTotk¾)an . sUmBinitü]TahrN_xageRkam³ $users = array ("Sok", "Sao", "Mata", "Mesa"); > $users[] = "Menear"; > 3. Populating an Array with array_fill() > RbsinebIGñkcg;dak;nUvtMélCa default enAcenøaHén index array enaHGñkRbEhlCaeRbInUv array() function dUcxageRkam . $member = array ("cambodia", "cambodia", "cambodia","cambodia "); >b¤ GñkGaceRbIR)as;nUv array müa:geTotdUcCa $member[] = "Cambodia"; > $member[] = "Cambodia"; > $member[] = "Cambodia";> $member[] = "Cambodia"; > PHP )anpþl;nUv function edIm,IedaHRsaynUvbBaðaenHedayeRbInUv array_fill() function EdltMrUveGayGñkpþl;nUv arguments cMnYn3sMrab;function enH TI1KWCatMél index Edlcab;epþIm
  • 29. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 29 TIBIKWCa cMnYnFatuEdlGñkcg;)anehIy argument TI3KWCatMélEdlGñkRtUvpþl;eGayCaFaturbs;Array . edaykareRbIR)as;nUv array_fill() function GñkGacsresrnUvbMENkkUdxagelIeLIgvij dUcxageRkam³ $member = array_fill( 0, 4, "Cambodia" ); > ]TahrN_³ 24 <? $member = array_fill(0,4,"Cambodia"); $member[] = "Malaysia"; print $users[2]; ?> 4. Associative Arrays > Assosciate array KWCa array EdleRbIR)as;nUv index CaGkSrenA cenøaH squqre braketsGñkGacbegáItnUv assosciate array eday array construct( array() )b¤array identifier (array[]) ]TahrN_ $character = array("name" => "Sok", > "occupation" => "Student", "age" => 12, "Adr" => "Phnom Pehn" ); LÚvenHeyIgGaceRbIR)as;nUvFatuarray rbs;$character dUcxageRkam³ print $character['occupation']; > keys EdlenAkñúg assosciate array KWCa string dUecñH engine nwgbgðajr)aykarN_ error RbsinebI keys én array minman quoted . dUecñHGñkKYrEteRbInUv quotation marks enAeBlEdlGñkeRbIkeys énarray Ca string . print $character[occupation]; // minRtwmRtUv print $character["occupation"]; // RtwmRtUv RbsinebI key RtUvpÞúkenAkñúg variable enaH GñkmincaM)ac;RtUveRbI quotation mark enaHeLIy . $occ = "occupation"; > print $character[$occ]; // RtwmRtUv 4.1 Directly Defining or Adding to an Associative Array > GñkGacbegáIt b¤ bEnßm eQµaH¼tMél eTAeGay associate array edaykarpþl;nUvtMéleTAeGayeQµaHénFaturbs; array dYcxageRkam . $character["name"] = "sok"; > $character["occupation"] = "Programmer"; > $character["age"] = 30; > $character["address"] = "Phnom Penh";>
  • 30. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 30 5. Getting the Size of an Array > count() function pþl;nUvcMnYnFaturbs; array Edlman bMENkkUdxageRkameyIg)aneRbIR)as; nUv count()function edIm,IykFatucugeRkayénarray $users mkeRbI. $users = array ("Sambath", "Ratana", "Davy", "Ryda" ); > print $users[count($users)-1]; > ]TahrN_26 <html> <body> <head> <title>Getting size of array</title> <body> <h2>Getting size of array</h2> <?php $users[]="Sok"; $users[]="Som"; $users[]="Mom"; $users[]="Mab"; print "<br/>".count($users); ?> </body> </html> cMNaM³count() pþl;tMéléncMnYnsrubrbs;Fatu array minEmnCatMélén index cugeRkayenaHeT. ]TahrN_xageRkamenHKWkarbegáIt array edaykarpþl;nUv index eTAeGay array edayxøÜnGñk $users[35] ="Sok"; $users[52] ="Som"; $users[890] ="Mom"; $users[52]="Mab"; count() enAEtpþl;nUvcMnYnsrubénFatu array dEdl KWmancMnYn4 Fatu . ehIyGñkk¾GacTTYlnUv Faturbs; array cugeRkay)anedaykareRbInUv end() function EdlTamTarRtwmEt argument mYy b:ueNÑaH . ]TahrN_ print end($users); 6. Looping Through an Array > foreach statement KWCaviFIsaRsþmYyya:gRbesIredIm,Iloop ral;FatunimYy²EdlmanenA kñúg array . GñkGaceRbIR)as;nUv foreach statement dUcxageRkam ³ foreach( $arr as $temp ) { //...>>>>>>>>>> }>
  • 31. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 31 $arr KWCa array EdlGñkRtUv loop ehIy $temp KWCavariableEdlGñknwgRtUvrkSarTukCabeNþaHGasnñ nUvFatunimYy² kñúgRKa loop . kUdxageRkamKWCakarbegáIt array mYyehIyeyIg eRbI foreach statement edIm,IykFatunimYy²mk bgðajelIbrowser . ]TahrN_26 <html> <head> <title>Looping throught array</title> </head> <body> <h2>Looping througth array</h2> <?php $users = array ("Sok", "Som", "Mab", "Mab" ); foreach ( $users as $val ) { print "$val<br />"; } ?> </body> </html> ]TahrN_ 27 <html> <head> <title>Looping throught array</title> </head> <body> <h2>Looping througth array</h2> <?php $users[]="Sok"; $users[]="Som"; $users[]="Mom"; $users[]="Mab"; foreach( $user as $val ) { print "$val<br/> } ?> </body> </html>
  • 32. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 32 6.1 Looping Through an Associative Array > edIm,IeRbIR)as;nUv foreach statement CamYy assosciat array TaMg keys nig values GñkGaceRbIR)as;CamYynwg foreach statement dUcxageRkam ³ foreach( $arr as $key=>$value ) > { //...>> } $arr KWCa array EdleyIgnwgRtUv loop ehIy $key KWCa variable EdlpÞúknUv key nimYy²CabeNþaHGasnñ ehIy $val KWCa variable EdlpÞúknUv value rbs;array nimYy²CabeNþaHGasnñkñúgRKa loop mþg² . ]ThrN_ 28 01: <html> 02: <head> 03: <title>Looping thought associate array</title> 04: </head> 05: <body> 06: <h2> Looping thought associate array</h2> 07: 08: <?php 09: 10: $character = array ("name" => "Sao", 11: "occupation" => "Student", 12: "age" => 12, 13: "Adr" => "Phnom Pehn"); 14: 15: foreach ( $character as $key=>$val ) 16: { 17: print "$key = $val<br />"; 18: } 19: 20: ?> 21: 22: </body> 23: </html> ArrayEdl)anbegáItenAbnÞat;TI11 ehIyeRbIR)as;nUv foreach statement enAbnÞat;TI 15 edIm,I loop nUvFatuEdlCatMél nig key rbs;va . ral; key nimYyRtUv)anpÞúkenAkñúg variable Edl pþl;eQµaHeGayfa $key nig ral; value nimYy²RtUv)anpÞúkenAkñúg variable Edlpþl;eQµaHfa$val ehIyRtUv)anbgðajCalT§pleTAkan;browser enAbnÞat;TI17 .
  • 33. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 33 7. Joining Two Arrays with array_merge() > array_merge() mantYnaTIpÁMúnUvFaturbs; array BIr b¤ array eRcInbBa¢ÚlKña rYcpþl;Ca Array fµImYyeTotEdlCabnþMúénFatu array TaMgGs;enaH. ]TahrN_xageRkamKWCa]TahrN_énkarbegáItnUv array BIr KW array $arr1 nig array $arr2 ehIyeFVIkarbBa©ÚlKñarvagFatuén array TaMgBIrrYcpþl;tMélTaMgenaHeTAeGay $arr3 bnÞab;mk loop ral;FatuEdlmanenAkñúg $arr3 . ]TahrN_ 29 array_merge.php > <html> <head> <title>Joining Two array with array_merge()</title> </head> <body> <h2>Using array_merge()</h2> <?php $arr1 = array("a", "b", "c"); $arr2 = array(1,2,3); $arr3 = array_merge( $arr1,$arr2 ); foreach ( $arr3 as $val ) { print "$val<br />"; } ?> </body> </html> $arr3 array pÞúknUvral;FatuEdlmanenAkñúg $arr1 nig $arr2 array . foreach statement nwgbgðajnUvbnþMúénFatu array ( 'a', 'b', 'c', 1, 2, 3 ) CamYynwg <br/> enAcenøaHFatunimYy² . 8. Adding Multiple Variables to an Array > array_push()TTYlyknUv array nig tMélepSgBI parameters EdltMélTaMgenaHKWCaFatuEdlnwgRtUvbEnßmeTAeGay array . array_push() function minmanlkçN³dUc array_merge()enaHeT BIeRBaH array EdlbBa¢ÚneTACa argument dMbUgnwgRtUvERbRbYl ehIy array_push() nwg pþl;mkvijnUvtMélsrubTaMgGs ;EdlmanenAkñúg array enaHvij .
  • 34. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 34 ]TahrN_ 30 01: <html> 02: <head><title>Adding Muliple variables to an Array</title></head> 04: <body> 05: 06: <?php 07: 08: $arr1 = array ("a", "b", "c"); 09: $total = array_push( $arr1,1,2,3); 10: print "There are $total elements in $arr1 "; 11: 12: foreach ( $arr1 as $val ) 13: { 14: print "$val<br/>"; 15: } 16: 17: ?> 18: 19: </body> 20: </html> LÚvenH $arr1 )anbEnßmnUvFatuCa integer cMnYnbIFatu Edl)anmkBIkareRbIR)as;nUv array_push() function dUecñH $arr1 pÞúknUvtMélsrubcMnYn6 FatuehIyRtUv)anbgðajnUvFatunimYy²eTAkan; browser edaykUdEdlmanenAkñúg foreach statement . cMNaM³eyIg)aneRbInUv backslash eBlEdl print Ca string "------$arr1" enAbnÞat;TI10 RbsinebIGñkeRbInUv nimitþsBaØaenABImuxBakü b¤ XøaNamYyenaH PHP nwgbBa©ÚlCatMéleTAeGayeTAtameQµaH variable . ]TahrN_ xagelIeyIgcg;bgðajnUv string '$arr1' EdlminEmnCatMélrbs; variable enaHeT dUecñHedIm,I print nUv special character ($) eyIgRtUvEteRbInUv backslash () enABImux . RbsinebIGñkcg;bEnßmFatueTAeGay array ehIyCaFatudMbUgeTotenaH GñkGaceRbIR)as;CamYynwg array_unsift() . ]TahrN_ 31 <html> <head> <title>Using array_unsift() </title> </head> <body> <h2>Using array_unsift()</h2> <?php
  • 35. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 35 $arr1 = array ("a", "b", "c"); $total = array_unshift( $arr1, 1, 2, 3 ); print "There are $total elements in $arr1 "; foreach ( $arr1 as $val ) { print "$val<br/>"; } : ?> </body> </html> LÚvenH$arr1 array pÞúknUvtMél 1, 2, 3, "a", "b", "c" . 9. Removing the First Element of an Array with array_shift() > array_shift() mantYnaTIykecjnUvFatuTImYyén array .sUmBinitü ]TahrN_xageRkam³ ]TahrN_ 32 <html> <head> <title>Remove first array element with array_shift()</title> </head> <body> <h2>Using array_shift()</h2> <?php $user=array("M","U","T","H"); $total=count($user); echo "Before use array_shift() threre are $total element<br/>"; foreach($user as $val) { echo "$val <br/>"; } array_shift($user); $total=count($user); echo "after use array_shift() there are $total element</br>"; foreach($user as $val) { print "$val <br/>"; } ?>>
  • 36. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 36 </body> </html> 10. Slicing Arrays with array_slice() > array_slice() GnuBaØateGayGñkTajykcMnYnénFatu array EdlTamTareGayGñkpþl;nUv argument cMnYnbI TImYyKWCa array variable TI2CaTItaMEdlRtUvcab;epþImyk nigTIbI KWCacMnYnFatu rbs; array EdlRtUvkarehIy argument TIbIenHKW (optional) RbsinebIGñkmineRbInUv argument enHeT array_slice() nigcab;yknUvFatuTaMgGs;én array cab;BITItaMgEdlGñk)anpþl;CatMélenA kñúgargument TI1mk. ]TahrN_ 33 <html> <head><title>Using array_slice()</title> </head> <body> <h2>Using array_slice()</h2> <?php $first = array ("a", "b", "c", "d", "e", "f"); $second = array_slice($first, 2, 3); foreach ( $second as $val ) { print "$val<br />"; } ?> </body> </html> kUdEdlbegáItenA]TahrN_33 nwgbgðajnUvlT§pl 'c', 'd', nig 'e' EdlCaFaturbs; $secend bnÞab;BIeRbInUv array_slice() edayykFatuTaMgGs;rbs; $first . 11. Sorting Arrays > 11.1 Sorting Numerically Indexed Arrays with sort() > sort() TTYlyknUv argument mYyEdlCa array ehIyeFVIkartMerobvaeTAtamlMdab;éntY GkSrb¤BItUceTAFM ]TahrN_ 34 KWCakarbegáIt array edaypþl;nUvtMélCa string eTAeGaybnÞab;mkeyIgeRbI sort() edIm,ItMerobFatuTaMgenaHBI A-Z b¤ BItUceTAFM rYcbgðajCalT§pleTAkan; Browser .
  • 37. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 37 sUmBinitükñúg]TahrN_ 34 <html> <head><title> sorting array with sort() function</title> </head> <body> <h2>Using sort() function </h2> <?php $s_array = array ("Bayon", "Taprom", "Angkor", "Presh vihear"); sort( $s_array ); foreach ( $s_array as $var ) { print "$var<br />"; } ?> </body> </html> Gñkk¾Gacpøas;bþÚrnUvlMdab;énkartMerobFaturbs; array BIlMdab; tUceTAFM b¤ BIlMdab;FM eTAtUcvijedaykareRbInUv rsort(). sUmkMuBüayameRbIsort()b¤rsort() CamYy associate array BIeRBaH vanwgeFVIeGayGñk)at;bg;nUv key rbs;array . 11.2 Sorting an Associative Array by Value with asort() > assort() TTYlyk argument EdlCaRbePT associate array ehIyeFVIkartMerobtMél rbs; array enaHBI A-Z b¤ CatMélelx BItUceTAFM GaRs½yeTAelIRbePTéntMél . ]TahrN_35 <html> <head><title> sorting an associate array by value with assort() </title> <head> <body> <h2>sorting an associate array by value with assort()</h2> <?php $first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1); echo "<b>an associate Array before use asort </b> <br/>"; foreach ( $first as $key => $val ) {
  • 38. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 38 print "$key = $val<br />"; } echo "<b>an associate Array after asort </b><br/>"; asort( $first ); foreach ( $first as $key => $val ) { print "$key = $val<br />"; } ?> </body> <html> sMrab;karbþÚrlMdab;énkartMerobBItUceTAFM b¤ BIFMeTAtUcGñkGaceRbIrnUv arsort() . 11.3 Sorting an Associative Array by Key with ksort() > ksort() TTYlnUv argument EdlCa associate array ehIyeFVIkartMerobtMél rbs;va nimYy²eTAtamlMdab;BI A- Z b¤ Caelx BIFMeTAtUc edayGaRs½yeTAelI key rbs;array enaH . ]TahrN_36 <html> <head><title> sorting an associate array by key with assort() </title> <head> <body> <h2>sorting an associate array by key with kssort()</h2> <?php $first = array("Cocacola"=>3,"Pepsi"=>2,"Fanta"=>1); echo "<b>an associate Array before use ksort </b> <br/>"; foreach ( $first as $key => $val ) { print "$key = $val<br />"; } echo "<b>an associate Array after use ksort </b><br/>"; ksort( $first ); foreach ( $first as $key => $val ) { print "$key = $val<br />"; } ?> </body> <html>
  • 39. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 39 Gñkk¾Gacpøs;bþÚrlMdab;énkartMerobBIFMeTAtUv b¤BI Z-A vijedayeRbIkrsort() .
  • 40. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 40 ច្េច្ ៀនទ្យី ៦ 1. What Is an Object ? Object KWCa bNþúMén variables nig functions EdlzitenAkñúg template BiessmYyEdl eKehAfa class . object lak;nUvtMeNIrkarEdlmanenAxagkñúg BIkareRbIR)as;va edaypþl;Ca Interface sMrab;eGayGñkbBa¢ÚnnUv bBa¢aredIm,ITTYlBt’manRtlb;mkvij . interface TaMgenaHKWCa Function BiessEdleKeGayeQµaH methods ehIyral; methods TaMgGs;én object KWRtUvEt Access eTAkan;special variable ehAfa properties. KuNsm,tþirbs; object-oriented code KWpþl;nUvkarkat;bnßykarsresrkUd dEdl²BIeRBaH class Edl)an begáItCa object manPaBgayRsYlykeTAeRbIR)as;BI project mYyeTAkan;Project mYyepSgeTot . bEnßmBIenHvamanlT§PaBbegáIt nUv child classes Edl inherit ehIynwgOverride nUvlkçN³epSg²BI parents class . 2. Creating an Object edIm,IbegáIt object mYyGñkRtUvEterobcMnUv template mYyedIm,IeGayvaGac instantiated Edl template enHKWCa class enAkñúgPasa PHP edIm,IRbkas class mYyGñkRtUvEteRbI class Keyword . class Person { // a very minimal class } Person class KWCamUldæand¾sMxan;mYyEdlGñkGac instantiate ral;tMélnimYy²BIPersonObject . edIm,IbegáIt instance mYyénobject GñkRtUvEteRbInew statement . $obj1 = new Person(); > $obj2 = new Person(); > print "$obj1 is an ".gettype($obj1)."<br />"; > print "$obj2 is an ".gettype($obj2)."<br />"; > GñkGac test nUv $obj1 nig $obj2 CamYynwg gettype() function . gettype function TTYltMélVariable nimYy²ehIypþl;Ca string mkvijEdlR)ab;GñkGMBIGVIEdlGñkkMBugEteFVIkarCamYy . 3. Object Properties Object Edl access eTAkan; special variable RtUv)aneKehAfa properties . GñkGacRbkasnUv special variable TaMgenaH)anenARKb;TIkEnøgTaMgGs;én class b:uEnþedIm,IeGaymanPaBgayRsYlGñkKYrEtRbkas;vaenAxagelI . sMrab;property mYyvaGacCa value b¤Ca array b¤CaObject epSg² . class Person > { var $name = "Vichet"; > } > [[ Object
  • 41. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 41 eyIg)an declared nUv variable CamYynwg var keyword EdlenHKWCaviFIsaRsþEtmYyKt;edIm,I declare nUv property mYyenAkñúgPasa PHP 4 eyIgnwgeXIjBIlkçN³bEnßmrbs; PHP 5 enA]TahrN_eRkay²eTot . dUecñHRbsinebIGñkcg;sresrkUdeGay compatible CamYy PHP 4 enaH GñkRtUvEteRbIvar keyword. LÚvenH Person objet Edl)anbegáItKWmanpÞúknUv property mYy EdleGayeQµaHfa $name CamYynwgtMélrbs;vaKW "Vichet" . GñkGac access nUv property enH BIxageRkA object nigeFVIkarpøas;bþÚrtMélrbs;vaedayeRbI]TahrN_37. <? class Person > { var $name = "Vichet"; > } $obj1 = new Person(); > $obj2 = new Person(); > $obj1->name = "Soporn"; > print "$obj1->name<br />"; > print "$obj2->name<br />"; > ?> ( -> ) operator enHGnuBaØateGayGñkeFVIkar access b¤ pøas;bþÚrnUvtMélrbs; propertiesénObject . eyIg)anpþl;nUvtMél "Soporn" eTAeGay $name property tamry³ $obj1->name . 4. Object Methods > Method KWCa function Edl defined enAkñúg class . RKb; object Edl)an instantiatedBI class EtgEtman method‟s Canic© eyIgnwgbEnßmnUv method mYyeTAeGayPerson class enA ]TahrN_38. 01: <?php 02: 03: class Person 04: { 05: var $name = "Vichet"; 06: 07: function getName() 08: { 09: return "Ratana"; 10: } 11: 12: } 13: 14: $person = new Person(); 15: print $person->getName(); 16: // outputs "Ratana" 17: ?>
  • 42. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 42 dUcEdlGñk)anCYbRbTHmkehIyGMBI method én]TahrN_ 37 EdlemIleTAvamanlkçN³dUcKñaeTAnwg function FmµtaEdr . GñkGac call object method edaykareRbIR)as;nimitþsBaØa ( -> ). method Edl)an access eTAkan; member variables énclass xagelI)an return nUvstring "Ratana" EdlenHminEmnCakarGnuvtþn_EdlRtwmRtUv enaHeT method KYrEt return tMélEdl copy BI $name property nwg minEmnCa string literal. Gñkk¾)ansÁal;rYcmkehIyGMBIkaraccess a property BIxageRkA object b:uEnþetIRtUveFVIya:gNaedIm,I refer vaenAxagkñúg class xøÜnÉg?sUmBinitüemIl]TahrN_ 39. 5. Accessing a Property from Within a Method > ]TahrN_ 39 01: <html> 02: <head><titile>Accessing a property from within a method</title> 03: </head> 04: <body> 05: <h2>Accessing a property from within a method</h2> 06: 07: <?php 08: 09: class Person 10: { 11: var $name = "Thary"; 12: 13: function getName() 14: { 15: return $this->name; 16: } 17: } 18: 19: $person = new Person(); 20: $person->name = "Bopha"; 21: print $person->getName(); 22: //outputs "Bopha" 23: ?> 24: </body> 25: </html> Class Edl)anbegáItkñúg]TahrN_ 39 eyIg)aneRbIR)as;nUv special variable $this edIm,I refer eTAkan; current instantiated object enAbnÞat;TI 15 KW $name . object Edl refereTAkan;xøÜnÉgRtUvEteRbI $this variable P¢ab;CamYysBaØa ( -> ) edaykareRbIviFIenHGñkGacaccessral;property b¤ method EdlzitenAkñúgclass xøÜnÉg. GñkGacKitfacg;eGay object mannUvtMélén $name property epSg²Kña edayGñkGaceFVIkarerobcMnUvtMélrbs; $name property dUcEdl)anGnuvtþn_enAkñúg]TahrN_ 39 b¤ GñkGacbegáItCamethod sMrab;eFVIkarCamYyvadUcmanbgðajkñúg ]TahrN_40 .
  • 43. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 43 6. Changing the Value of a Property from Within a Method > ]TahrN_ 40 01: <html> 02: <body> 03: <head><title>Changing the value of a property from within a method</tile> 04: </head> 05: <body> 06: <h2>Changing the value of a property from within a method</h2> 07: 08: <?php 09: 10: class Person 11: { 12: var $name = "tepy"; 13: 14: function setName( $n ) 15: { 16: $this->name = $n; 17: } 18: 19: function getName() 20: { 21: return $this->name; 22: } 23: } 24: 25: $person = new Person(); 26: $person->setName("darya"); 27: print $person->getName(); 28: // outputs "darya" 29: 30: ?> 31: 32: </body> 33: </html> $name propertyén object cab;epþImedaytMél string "tepy"enAbnÞat;TI12 b:uEnþbnÞab;BI setName() method RtUv)anehAenAbnÞat;TI 26 tMélrbs;vaRtUv)anbþÚreTACa "darya" vij . Object KWmanlT§PaBpøas;bþÚrnUv property rbs;xøÜnÉg)an ehIysMrab;karbBa¢ÚnnUv arguments eTAkan; method vijKWGñkGaceRbInUvviFI dUcEdlGñkGnuvtþn_vaCamYy function FmµtaEdr. 7. Object Constructors > enA]TahrN_muneyIg)aneRbIR)as; method mYyeQµaHfa setName() edIm,IeFVIkarpøas;bþÚrtMélrbs; $name property müa:gvijeTot karpþl;nUvtMéltMbUgsMrab; $name property enAkñúg Class KW hard-code .var $name = "tepy"; > RbsinebIeyIgKitfa $name property pÞúknUvtMélepSg²Kña ral;eBlEdl instance én Person class eyIgGaceFVIeGaykan;EtRbesIrCagmunedaykar set $name property enAeBlEdl Object RtUv)an initialize. eyIgGaceRbIR)as; special function EdleKeGayeQµaHfa constructor edIm,I set properties
  • 44. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 44 nigbMeBjkargarepSg²eTAtamtMrUvkarénkargar. constructor KWRtUvehAeday sV½yRbvtþienAeBlEdl object RtUv)an instantiated edaykareRbIR)as; new keyword . GñkGacbegáItnUv constructor tamviFIsaRsþBIrya:g TI1 KW constructor EdlCa functionmaneQµaHdUc class . ]TahrN_ 41 nwgbEnßmnUv constructor samBaØmYyeTAeGay Person Class EdlkUdxageRkamenHeRbIR)as;)ansMrab;Et PHP 5 b:ueNÑaH . ]TahrN_41 A Class with a Constructor 01: <html> 02: <head> 03: <title>A Class with a Construct</title> 04: </head> 05: <body> 06: <h2>A Class with a Construct</h2> 07: 08: <?php 09: 10: class Person 11: { 12: var $name; 13: 14: function Person($name="tepy") 15: { 16: $this->name = $name; 17: } 18: function setName( $n) 19: { 20: $this->name = $n; 21: } 22: 23: function getName() 24: { 25: return $this->name; 26: } 27: } 28: 29: $person = new Person("darya"); 30: print $person->getName (); 31: // outputs "Darya" 32: 33: ?> 34: 35: </body> 36: </html>
  • 45. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 45 Person() constructor method bnÞat;TI14KWRtUv)anehAedaysV½yRbvtþienAeBlEdleyIgInstantiate nUv Person object bnÞat;TI29 eyIgk¾)anerobcMnUvtMél default mYyCa string "tepy" pþl;eTAeGay parameter pgEdr vaKWCakarCMnYseGay xN³EdleyIgmin)anpþl;Ca argument enAeBlEdleyIgbegáIt Object. PHP 5 )anbgðajnUv syntax fµImYyedIm,IbegáIt constructor methods edayCMnYseGaykareRbIR)as;nUv function EdlmaneQµaHdUcclass mkCakareRbIspecial syntax fµIKW__construct()dUecñHeyIgGaceFVIkarpøas;bþÚrbnÞat;TI5én ]TahrN_xagelI mkeRbInUv syntax fµIedayeFVIkarCMnYsnUv function Person() mkeRbI__construct() vij. function __construct( $name="tepy") > { …………. } 8. Limiting Access to Object Properties > PHP 4 min)anpþl;nUvkar karBarsMrab; object properties enaHeT Client code Gac getb¤ set object properties)aneTAtamkarKitrbs;BYkeK.mansMnYrsYrfaetImanbBaðaGVIeTkñúgkarGnuvtþn_EbbenH? vaminmanCabBaðakñúgkareRbI R)as;nUv Public accessible properties enaHeT Edl CaTUeTA vaCakarGnuvtþn_sMrab;kar access eTAkan; object EdlmanlkçN³tUc. enA]TahrN_xag eRkameyIgnwg)aneXIjnUvlkç½NÐmYyEdlkMNt;nUvRBMEdnénkar access eTAkan; $name propertyrbs;Person class . ]TahrN_42 Class with Public Properties 01: <?php 02: class Person 03: { 04: var $name; 05: var $pid; 06: var $personStr; 07: 08: function Person( $name="somphy", $pid=0 ) 09: { 10: $this->name = $name; 11: $this->pid = $pid; 12: } 13: 14: function setName( $n ) 15: { 16: $this->name = $n; 17: $this->$personStr=$this->name." ".$this->pid; 18: } 19: 20: function getName () 21: { 22: return $this->name; 23: } 24: } 25: $person = new Person("sovan",5233); 26: print $person->PersonStr(); 27: // outputs "sovan 5233"
  • 46. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 46 28: print "<br />"; 29: $person->name = "makara"; 30: ?> PHP 5 pþl;nUvviFIsaRsþepSgedIm,I declare nUv properties rbs;eyIgedaykarCMnYsnUv Var keyword mkeRbInUv keywords fµImYykñúgcMeNam keyword TaMgbI EdlmanlkçN³ Rsedog eTAnwg programming Java eyIgnwgbgðajBIkar declarenUvproperty fµIenHenAkñúgtaragxageRkam PHP 5 Property Declaration Keywords Privacy Level Description public Accessible to all. Equivalent to var. private Available only to the containing class. protected Available only to the containing class and subclasses. dUecñHeyIgGacpøas;bþÚr properties rbs;eyIgEdlmanenAkñúg]TahrN_xagelIedayeRbIprivate CMnYs eday var keyword vij . ex. private $name; > private $pid; > LÚvenHkarBüayampøas;bþÚrnUvtMélrbs; $name property én Person object enAbnÞat;TI 30 nwgbgðajnUv error message dUcxageRkam . Fatal error: Cannot access private property Person::$name in c:Inetpubwwwroot classPrivateProperty.php on line 30 > dUecñH Client coders RtUvEteRbIR)as;nUv setName() method edIm,IeFVIkarEkERbeTAelItMélrbs; $name property . maneBlNamYyGñkRbEhlCacg;eGay child classes Gacaccsess eTAkan; property EdlenAkñúgeBlenaHGñkKYrEteRbInUv protected keyword eRBaHvaGnuBaØateGayGñk accesse vaBClass EdlGñk)an derived ehIyeyIgnwg)aneXIjvaenAkñúgEpñkmYyEdlniyayBI Inheritance . 9. Limiting Access to Object Methods > lkçN³sMxan;én object-oriented code KWCa class . Object RtUvEtkMNt;nUvmuxgarnig Public interface eGay)anc,as;las;enAeBlGñkbegáItnUv methods epSg².bMENkEdlmanenAkñúg classKWpÞúknUvmuxgarepSg²sMrab;tM eNIrkardUecñHGñkKYrEtlak;nUvmuxgarTaMgenaHBIBiPBxageRkA. sMrab;Ca]TahrN_xagelIeyIgKYrEtbegáItnUv method sMrab; $personStr property BIeRBaHral;tMeNIrkarTaMgGs;rbs; $personStr RtUv)anpÞúkenAkñúg setName() method . function setName( $n ) {
  • 47. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 47 $this->name = $n; $this->$personStr=$this->name." ".$this->pid; } > GñkRbEhlCaRtUvkarnUv method edIm,I reset nUvstring rbs; $personStr dUecñHeyIgnwgbegáItnUv Method fµImYysMrab;pþl;tMéleTAeGay $personStr property . function setName( $n ) { $this->name = $n; $this->makePersonStr( $n, $this->code ); } function makePersonStr( $string , $code) { return $this->personStr = "$string $code"; } LÚvenHeyIgenAEtmanbBaðaenAeLIyCamYynwg method rbs;eyIg BIeRBaH client code enAEtGacAccess nUv makePersonStr() method ehIyvaGaceFVI»ó Tinñn½yrbs;eyIgmankarBi)ak RKb;RKg . eyIgcg;eGayRtwmEt object EdlCaGñkbegáItnUv property EtmYyKt;EdlmansiT§ Access mk kan; property enH enAkñúgCMnan;rbs; PHP 5 eyIgGacpþl;nUvlkçN³ pravicy eTAeGay methods dUcEdleyIg)anGnuvtþn_CamYynwg private property BI]TahrN_mun. private function makePersonStr($string , $code) > { // ... } LÚvenH makePersonStr() function Gac access )anEtenAkñúg method TaMgLayNaEdlzitkñúg Person class b:ueNÑaH . Public, protected ehIynwg private vatMeNIr)anEtCamYynwg PHP 5 Etb:ueNÑaH dUecñHRbsinebIGñkBüayam eRbInUv keyword TaMgbIenHCamYy PHP 4 enaH script rbs;GñknwgRtUvbraC½yTaMgRsug. 10.Inheritance > edIm,IbegáIt class mYyEdlGac inherits function BI parent class eyIgRbEhlCaRtUvEkERbnUvkar declare class rbs;eyIgbnþicbnþÜc . ]TahrN_fµIxageRkamenH KWCakarbegßItnUv Item Class ehIynig begßItnUv inheriting class Edlpþl;eQµaHfa PriceItem . ]TahrN_43 Creating a Class That Inherits from Another > 01: <html> 02: <body> 03: <h1>Creating Class That Inherits from Another</h1> 04: <?php 05: 06: class Item 07: {
  • 48. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 48 08: var $name; 09: 10: function Item( $name="item", $code=0) 11: { 12: $this->name = $name; 13: $this->code = $code; 14: } 15: 16: function getName() 17: { 18: return $this->name; 19: } 20: } 21: class PriceItem extends Item 22: { 23: ……………………………… 24: ……………………………… 25: } 26: $item = new PriceItem( "Angkor", 4545 ); 27: print $item->getName (); 28: // outputs "Angkor" 29: ?> 30: </body> 31: </html> eyIg)anbegáItnUv class mYyeTotEdlmaneQµaHfa PriceItem enAbnÞat;TI 21. KYrcMnaM fa extends clause EdleRbIR)as;enAxagkñúgkar declare class enAbnÞat;TI21 enHmann½yfa PriceItem object inherits ral; function TaMgGs;EdlmanenAkñúg Item class dUecñH PricteItem Object nimYy²KWmanlT§PaB access eTAkan; getName() method b¤ $name property b:uEnþ k¾GaRs½yeTAelIkareRbIR)as;nUv privacy settings pgEdr . edaysarEteyIgBMu)anbegáItnUv Constructor method sMrab; PriceItem class dUecñHetI $name property vaGaceFVIkarpøas;pþÚrtMél BI default "item" eTACa "Angkor" edaybBa¢ÚneTAtam PriceItem )any:agdUcemþc ? BIeRBaHeyIg BMu)anpþl;nUvcontructor enAkñúgPriceItem enaHeTdUecñHRbsinebI class Edl extend BIclass déT eTotminmannUv constructor method enaH contructor EdlCarbs; parent class nwgRtUv)an ehAedaysV½yRbvtþienAeBlEdl child object cab;epþImbgáIteLIg . 11. Overriding the Method of a Parent Class > enAkñúglkçN³én object-oriented kUdrbs; child classes Gac override methods BI Parents class nwgGnuBaØtieGay objects Gacinstantiated BIparent class . The Method of a Child Class Overriding That of Its Parent >> ]TahrN_44 01: <?php
  • 49. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 49 02: class Item 03: { 04: var $name; 05: 06: function Item( $name="item", $code=0) 07: { 08: $this->name = $name; 09: $this->code = $code; 10: } 11: 12: function getName() 13: { 14: return $this->name; 15: } 16: } 17: 18: class PriceItem extends Item 19: { 20: function getName() 21: { 22: return "(price)."$this->name; 23: } 24: } 25: 26: $item = new PriceItem( "widget", 5442 ); 27: print $item->getName(); 28: // outputs "(price) Angkor" 29: ?> getName() method EdlbegáItenAkñúg PriceItem class enAbnÞat;TI 20 RtUv)anehA edayeRbIR)as;nUv$name property rbs;parent class EdlenAcMnucenHeyIgKYrEteFVIkarsMerccitþ begáItnUv $name property EdlmanenAkñúg Item class Ca private . class Item { private $name; // ... } karpøas;bþÚrnUv]TahrN_xagelIeFVIeGaylT§plmanPaBERbRbYldUcxageRkam- lT§plEdlTTYl)anmuneBleFVIkarpøas;bþÚr KW (price) Angkor lT§plfµIEdlnwgTTYl)anKW (price) LÚvenH PriceItem class minGac access eTAkan; $name property eTot)aneT b:uEnþRbsinebI Child class RtUvkar access eTAkan; methods b¤property énancestor classes eyIKYrEteRbInUv Protected keyword CMnYseGay private vij . 12. Calling an Overridden Method > maneBlxøHfunction EdlmanenAkñúgparent class GacmanplRbeyaCn_sMrab;GñkdUecñH sMrab;Object-oriented-programmingGnuBaØatieGayGñkrefer eTAkan;parent class edayeRbInUv parent keyword . ]TahrN_xageRkamenH getName() method EdlzitenAxagkñúg PriceItem Class nwgcall nUv method enAkñúg Item class Edl)anRtUv override. Calling an Overridden Method (PHP 5 Syntax) >
  • 50. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 50 ]TahrN_ 45 01: <?php 02: class Item { 03: private $name; 04: 05: function __construct( $name="item", $code=0 ) { 06: $this->name = $name; 07: $this->code = $code; 08: } 09: 10: function getName() { 11: return $this->name; 12: } 13: } 14: 15: class PriceItem extends Item { 16: function getName() { 17: return "(price) ".parent::getName (); 18: } 19: } 20: 21: $item = new PriceItem ("widget", 5442); 22: print $item->getName(); 23: // outputs "(price) widget" 24: 25: ?> eyIg)aneFVIkarCamYynwg getName() method enAkñúg PriceItem class bnÞat;TI17. PriceItem class mineFVIkarpÞal;CamYynwg $name property rbs; Item class enaHeT dUecñHenAcMnuc enHeyIgGac declare $name property Ca private EdlmineFVIeGaymanplb:HBal;CamYynwg lT§plenaHeT ehIyRbsinebIeyIgeRbIvaCamYynwg PHP 5 eTotenaH vaKWCakarGnutþn_d¾l¥ edIm,I Lock nUv methods nig property rbs;eyIg . 13. Working with Constructors > eyIgFøab;)aneXIjmkehIyfa constructor rbs;parent class nwgRtUv called edaysV½y RbvtþiRbsinebI child class min)anbegáItnUv constructor sMrab;xøÜnvaenaHeT . eyIgnwgbEnßmnUv Constructor method eTAeGay PriceItem class rbs;eyIgCamYynwg]TarhN_xageRkam. ]TahrN_46Adding a Constructor to PriceItem 01: <?php 02: class Item 03 { 04: private $name; 05: function __construct( $name="item", $code=0 ) { 06: $this->name = $name; 07: $this->code = $code; 08: } 09: function getName () { 10: return $this->name; 11: }
  • 51. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 51 12: } 13: class PriceItem extends Item 14: { 15: private $price; 16: function __construct( $name, $code, $price ) { 17: parent::__construct( $name, $code ); 18: $this->price = $price; 19: } 20: 21: function getName() { 22: return "(price) ".parent::getName (); 23: } 24: } 25: 26: $item = new PriceItem ("widget", 5442, 5.20); 27: print $item->getName (); 28: // outputs "(price) widget" 29: 30: ?> eyIg)anbegáItnUv constructor method enAbnÞat;TI16edIm,ITTYl argument sMrab; $name nig $codeRBmCamYynwg argument fµIsMrab; price. eyIg)aneRbIR)as; parent keyword edIm,Icall constructor rbs; Item class enAbnÞat;TI22 muneBlEdleyIgeFVIkarerobcMtMéleGay $price property EdlenHbgðajeGayeyIgeXIjBIehtuplmYysMrab;eRbInUv syntax fµIrbs;PHP5 edIm,IbegáIt contructor . parent::__construct( $name, $code );
  • 52. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 52 ច្េច្ ៀនទ្យី ៧ enAelI internet (world wide web ) Form pøl;nUvlT§PaBeénkarbBa¢ÚnnUvBt’manBIGñk eRbIR)as;BI Client eTAkan; Server . PHPRtUv)anrcnaeLIgedIm,IeFVIkarCamYynwgBt’manTaMgenaHenAeBlEdl HTML forms RtUv)an submit . 1. User Input> GñkR)akdCacg;eGaykmµviFIrbs;GñkmanskmµPaB b¤ TMnak;TMngCamYynwgGñkeRbIR)as;kñúgxN³eBlNamYy . ]TahrN_xaeRkamKWCakarbegáItnUv Form mYyedIm,ITTYlnUvBt’manBIGñkeRbIR)as;dUcCa first-name , last-name , date of birth , email address nigpassword. <html> <head> <title>Registration form </title> </head> <body> <CENTER> <h2>Registration Form</h2> <hr width="50%"> <form method="GET" action="register.php" > <table> <tr><td>First-Name</td> <td><input type="Text" name="txtFname"></td> </tr> <tr><td>Last-Name</td> <td><input type="Text" name="txtLname"></td> </tr> <tr><td>Date of Birth</td> <td> <Select name="cboday"> <option value="01">01</Option> <option value="02">02</Option> <option value="03">03</Option> </select> <Select name="cbomonth"> <option value="01">Jan</Option> <option value="02">Feb</Option> > <option value="03">Mar</Option> </select> <Select name="cboyear"> <option value="1980">1980</Option> <option value="1981">1981</Option> <option value="1982">1982</Option> <option value="1983">1983</Option> </select> </tr> [ Form
  • 53. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 53 <tr><td>E-mail</td> <td> <input type="text" name="txtemail"></td> </tr> <tr><td align=right colspan=2> <input type="submit" value="Submit"> </td> </tr> <tr><td>Password</td> <td> <input type="password" name="txtpwd" size=22></td> </tr> </table> </body> </html> enAbnÞat;EdleyIg)aneRbInUv form tage<form method="get" action="register.php">eyIg)aneRbInUv get method EdlCa attribute dMbUgenAkñúg form tag . HTTP get method eFVIkarbBa¢ÚnTinñn½yBI form eTAtam URL EdleFVIeGayTinñny½TaMgenaHGacbgðajenAelI address bar rbs; browser CaehtueFVIeGaylT§plEdl)anBI form GacRtUvrkSarTukCa bookmark . GñkRbEhlCaRtUveRbI post method vijCakarRbesIrCag RbsinebIGñkcg; eRbIR)as;nUv passwordBIeRBaHPOST eFVIkarbBa¢ÚnTinñn½yEdlmanenAkñúgform eTAtambody én HTTP request dUcecñH Tinñn½yTaMgenaHminRtUv)anbgðajeGayeXIjCamYy URL b¤ Ca bookmarked enaHeT . edIm,I processes data BI form EdleRbI get method enAkñúg Script GñkGaceRbICamYy $_GET b¤RbsinebIGñkeRbI nUv post method GñkGaceRbICamYy $_POST b¤ eRbI $_REQUEST GñkGaceRbI)as;)anTaMgBIrmethod. ]TahrN_kareRbIR)as;get method enAkñúg script register.php <html> <body> <head> <title>Personal Information</title> </head> <center> <h2>Personal Information</h2> <hr width=50%> <?php $fname = $_GET['txtFname']; $lname = $_GET['txtLname']; $day = $_GET['cboDay']; $month = $_GET['cboMonth']; $year = $_GET['cboYear']; $dob = $day."-$month"."-$year"; print "<table>"; print "<tr>"; print "<td><b>First-Name :</b></td>"; print "<td> $fname </td>";
  • 54. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 54 print "</tr>"; print "<tr>"; print "<td><b>Last-Name :</b></td>"; print "<td> $lame </td>"; print "</tr>"; print "</table>"; ?> </body> </html> xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)an submit edayeRbI get mehod . sUmBinitüemIlnUv address bar rbs;browser EdlBt’manbBa¢ÚnmkenaH RtUv)anP¢ab;mkCamYynwg url ]TahrN_49 kareRbIR)as;post method enAkñúg script register.php <html> <body> <?php $fname = $_POST['txtFname']; $lname = $_POST['txtLname']; print "<table>"; print "<tr>"; print "<td><b>First-Name :</b></td>"; print "<td> $fname </td>"; print "</tr>"; print "<tr>"; print "<td><b>Last-Name :</b></td>"; print "<td> $lame </td>"; print "</tr>"; print "</table>";
  • 55. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 55 ?> </body> </html> Gñknwg)aneXIjBIPaBxusKñarvagkareRbIR)as;nUv post method nig get method enAelI Address bar rbs; brower nimYy² . xageRkamKWCalT§plEdlTTYl)anbnÞab;BI form RtUv)anSubmit edayeRbIR)as;nUv post method . 2. Accessing Form Input with User-Defined Arrays > ]TahrN_ 49 pþl;lT§PaBeGayGñkTTYlnUvBt’manBI HTML element Edl)an Submit nUvtMélmYysMrab;Etelement mYyb:ueNÑaHEdlenHBMuTan;manlkçN³RKb;RKan;enAeLIyenaHeTRbsin ebIGñkcg;eFVIkarCamYynwg multiple select . ]TahrN_50 01: <html> 02: <head> 03: <title>HTML Form with a 'select' Element</title> 04: </head> 05: 06: <body> 07: <center> 08: <h2>Multiple Select</h2> 09: 10: <hr width="50%"> 11: <form action="multiple.php" method="POST"> 12: <select name="products[]" multiple="multiple"> 13: <option> Cocacola </option> 14: <option> Fanta </option> 15: <option> Sprite </option> 16: <option> Merinda </option> 17: <option> Pepsi </option> 18: </select><br><br> 19: <input type="submit" value="submit"> 20: 21: </body> 22: </html> eyIgnwgbegáIt script edIm,IEsVgrk input BI "products[]" form element EdlbegáItenAbnÞat;TI 12edaypþl;eQµaHCa array indexed ehAfa products. products[]KWCa select element Edlpþl;eGaynUvCMerIssMrab;GñkeRbIR)as;edaykareRbI option element enAbnÞat;TI 13 dl; bnÞat;TI 17eyIgnwgbgðajBIlT§plEdlGñkeRbIR)as;)aneRCIserIsBI form xagelI EdlbegáItCa array enAkñúg]TahrN_ 51 01: <html> 02: <body> 03: <head>
  • 56. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 56 04: <title>Reading Input from the form multiple select</title> 05: </head> 06: 07: <?php 08: 09: if ( is_array( $_POST['products'] ) ) 10: { 08: echo "<b>Your products choice are :</b><br/>"; 10: foreach($_POST['products'] as $val) 11: { 12: print "$val<br>"; 13: } 14: } 15: 16 ?> 17: 18: </body> 19: </html> enAbnÞat;TI 09 én ]TahrN_ 51 eyIgeFVIkarRtYtBinitüeTAelI $_POST['products'] Element RbsinebI element enHCa array eyIgnwg loop ral;FatunimYy²rbs;vaenAbnÞat;TI10 edIm,IbgðajCalT§pleTAkan; Browser . Gñkk¾GacGnuBaØatieGayGñkeRbIR)as; eRCIerIsnUvCMerIseRcInedayeRbI check boxes EdlRtUvpþl;nUveQµaHdUc²KñasMrab; element nimYy² ehIyP¢ab;CamYy empty brakets . PHP nwg compiles nUvGVIEdlGñkeRbIR)as;)an select eTACa array . eyIgnwgeFVIkarpøas;bþÚrBIkareRbI select element enA]TahrN_xagelImkeRbIcheck boxes vijdUcmankñúg]TahrN_ 52. ]TahrN_52 <html> <head> <title>HTML Form with a 'select' Element</title> </head> <body> <center> <h2>Multiple Select</h2> <hr width="50%"> <form action="multiple.php" method="POST"> <input type="checkbox" name="products[]" value="Cocacola" />Cocacola <input type="checkbox" name="products[]" value="Fanta" />Fanta <input type="checkbox" name="products[]" value="Sprite" />Sprite <input type="checkbox" name="products[]" value="Merinda" />Merinda <input type="checkbox" name="products[]" value="Pepsi" />Pepsi <br><br> <input type="submit" value="submit"> </body> </html>
  • 57. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 57 multiple.php ]TahrN_52 01: <html> 02: <body> 03: <head> 04: <title>Reading Input from the form multiple select</title> 05: </head> 06: 07: <?php 08: 09: if ( is_array( $_POST['products'] ) ) 10: { 08: echo "<b>Your products choice are :</b><br/>"; 10: foreach($_POST['products'] as $val) 11: { 12: print "$val<br>"; 13: } 14: } 15: 16 ?> 17: 18: </body> 19: </html>
  • 58. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 58 ច្េច្ ៀនទ្យី ៨ 1. What is MySql ? > MySql KWCaRbePT Open Source Sql databases management system EdlmanRbCaRbiybMputsMrab; kareRbIR)as; edayRtUv)anGPivDÆn_nigKaMRTeday MySQL AB . MySQL AB KWCaRkumh‘unEdlbegáIteLIg edayRkumGñkGPivDÆn_MySql . 1.1 MySQL is a relational database management system. > A relation databases KWrkSaTuknUvTinñn½ykñúgtable epSgBIKñaEdlmanlkçN³RbesIrCagkarrkSaTuknUvTinñn½yTaMg Gs;enAkñúgstoreroom d¾FMmYy ehIyviFIenHGacCYybegáInel,Ónnig manPaBgayRsYleRbIkan;EtRbesIreLIgCamYy nwgTinñn½y . SQL KWCabMENkmYyén MySQL Edl eRbI CaBaküeBjfa “Structured Query Language” SQL KWCaPasaEdleRbIR)as;Ca standard edIm,I access eTAkan; databases ehIyRtUv)ankMNt;eday ANSI/ISO SQL Standard .SQL standard RtUv)anvivtþn_eLIgenAkñúgGMLúgqñaM 1986 EdlbegáIt)anCaCMnan;rbs; SQL-92 edaysMedAeTAelI SQL standard EdleFVIkardak;ecjnUvCMnan;rbs;xøÜnenAkñúgGMLuúgqñaM 1992 nig bnÞab;mkKW SQL-1999 nigeRkaymkeTotKW SQL-2003 . 1.2 MySQL software is Open Source. > Open Source KWmann½yfaGñkeRbIR)as;manlT§PaBEkERbnUv software enaH)an ehIy GacTajyknUv Software TaMgenaHenAelI Internet nigGaceRbIR)as;va edayminmankarbg;R)ak; eTAelIesvakmµGVITaMgGs; . MySQL software eRbIR)as; GPL( General Public License ) edIm,Ipþl;eGayGñknUvGVIEdlRtUvkar nig GVIEdlGñkminRtUvkarcMeBaH software enH . KWmann½yfa RbsinebIGñkminmanGarmµN_Tukcitþ CamYyniwg GPL b¤ Gñkcg;bgáb;nUvkUdeTAkñúg MySQL edIm,IeFVICaCommercial application GñkGacTijnUvc,ab;GnuBaØatieGayeFVIBaniC¢kmµBIRkumh‘un MySQL Edl Bt’manlMGitGñkGaceRbIR)as;nUveKhTMB½r(http://www.mysql.com/company/legal/licensing/) ។ 2. SQL commands in mysql > EpñkxageRkamnwgbgðajBIkareRbIR)as; SQL commands enAkñúg MySQL context . RKb; commands TaMgGs;suT§Et)anTTYlsÁal;eday MySQL system kñúgGMLúgeBlEdl design SQL databases environment . command rbs; MySQL nimYy²RtUvEtbBa©b;CamYynwgsBaØa Semicolon ( ; ) . show databases KWCa command dMbUgEdleRbIedIm,IbgðajnUveQµaH database TaMgGs;EdlmanenAkñúg MySQL kñúgenaHmandatabase cMnYnBIrP©ab;mkRsab;CamYy MySQL package. mysql> show databases; +----------+ | Database | +----------+ | mysql | | test | [ MySql
  • 59. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 59 +----------+ 2 rows in set (0.00 sec) Database EdlmaneQµaHfa mysql pÞúknUvMySQL settings ehIynig users epSg² .sMrab;Ca]TahrN_ eyIgnwgbegáItdatabase mYyeQµaHfa BbuDb . create database databaseName ; syntax : mysql>create database BbuDb ; > eyIgGacBinitüemIl database Edl)anbegáItxagelIedayeRbIR)as; show database command. >mysql> show databases; +------------+ | Database | +------------+ | mysql | | BbuDb | | test | +------------+ 3 rows in set (0.00 sec) edIm,Ilb;nUv database NamYyenaHGñkGaceRbISQL command : drop database databaseNameGñkKYrRbugRby½tñpgEdr cMeBaHkareRbIR)as;command enH BIeRBaHvanwgeFVIkarlb;database edayminmankarsaksYrb¤ eFVIkarbBa¢ak;BI GñkmþgeToteLIy.SQL syntax EdleRbIedIm,IbegáIt table eyIgnwgbgðajCamYy]TahrN_xageRkam b:EnþmuneBlEdleRbI command enHGñkRtUvEtkMNt;nUv database mYyeGayCak;lak;CamunsinedayeRbIcommand use: mysql>use BbuDb ;. eyIgniwgeRbI command edIm,IbegáIt table Edlmanattributes dUcCa id , username , password , name nig email CamYynwg]TahrN_xageRkam.The general form of the syntax is:> create table tableName ( col1Name datatype otherSettings, etc) > >mysql> create table tblpeople ( id int(5) not null auto_increment , username varchar(20) binary not null, password varchar(20) binary not null, name varchar(20) not null, email varchar(30) not null, primary key(id) ); > ral; attribute nimYy²suT§EtRtUv)ankMNt;nUvcMMnYntYGkSrEdlRtUvrkSaTukenAkñúg table ehIy fieldnimYy²én table suT§EtTamTareGaymannUvtMélCanic© . cMENkÉ id attribute tMélrbs;vaniwgRtUvekIneLIgedaysV½yRbvtþienAeBl EdlTinñn½yRtUv)anbBa©ÚleTAkan; tblpeople mYyelIk² .varchar KWCatMélEdleRbICatYGkSr b¤CatYelx cMENkÉ binary eKeRbIedIm,IeFVIeGaytMél eTACa case-sensitive rIÉ name ehIy nig email attribute KWminRtUv)aneRbI binary enaHeTdUecñHvaminmanlkçN³ case-sensitive eLIy. id KWRtUv)anbegáItCa primary key sMrab;table edIm,I identify row nimYy²éntable . mysql> desc tblpeople ;>
  • 60. វិទ្យាស្ថា នពហុបច្ចេកច្ទ្យសច្េត្តបាត្់ដំបង POLYTECHNICINSTITUTEOFBATTAMBANGPROVINCE Developing web Application with PHP Prepare By: DY CHANDOEUN Page 60 +----------+-------------+------+-----+---------+--------------+> | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+--------------+ | id | int(5) | | PRI | NULL |auto_increment | username | varchar(20) | | | | | password | varchar(20) | | | | | name | varchar(20) | | | | | email | varchar(30) | | | | +----------+-------------+------+-----+---------+--------------+ 5 rows in set (0.01 sec)> bnÞab;BImkeTotGñkGaceRbIR)as; insert command edIm,IbBa©ÚlTinñn½yeTAkñúg table . ]TahrN_³ mysql>insert into tblpeople values (null, 'muth', ' muth07 ', 'monen', ' muth_monen@hotmial.com '); mysql>insert into tblpeople values(null, 'lou', ' army ', ' lou cy ', ' lou_cy@gmail.com '); > enAeBlEdl id attribute Ca auto_increment eyIgeRbI null sMrab;Ca data entry Edl null Value minmanlkçN³dUcnwg blank (" ") enaHeT . id attribute cab;epþImedaytMélCa integer 1 ehIyvanwgeFVIkarbegáIntMél 1 énenAeBlEdlmankarbBa¢ÚlTinñn½yeTAkan; row fµImþg². GñkGacBinitüemIlBt’man TaMgGs;EdlmanenAkñúg tablebnÞab;BI)anbBa©ÚledayeRbIR)as; SQL command mysql>select * from tblpeople ; > +----+----------+----------+------------+---------------------+ | id | username | password | name | email | +----+----------+----------+------------+---------------------+ | 1 | muth | muth07 | monen |muth_monen@hotmail.com | | 2 | lou | army | lou cy |lou_cy@gmail.com | +----+----------+----------+------------+---------------------+ 2 rows in set (0.00 sec) edIm,Ilb;nUv table NamYyecjBI database GñkGaceRbI command :mysql> drop table tableNamesMrab; command EdleRbIedIm,Ilb; row BI table TamTareGayGñkpþl;nUveQµaHén table ehIynigwhere condition EdlbBa¢ak;BI row(s) EdlnwgRtUvlb;. delete from tableName where Where-condition sUmRbugRby½tñRbsinebIGñkmineRbI where-condition enaHeT RKb; rows TaMgGs;EdlmanenAkñúgtable nwgRtUvlb;ecalTaMgGs;. enAkñúg]TahrN_xageRkameyIgnwgeRbItMélrbs; attribute name nig username edIm,Ilb; row ecjBI table tblpeople . delete from tblpeople where name=’ monen ’ and username = ’ muth ’ ;> UPDATE command RtUv)aneRbIedIm,IEkERbBt’manEdlmanenAkñúg table GñkGacselect yk Bt’manNamYymkEkERbBt’manedayminmankar)at;bg;nUv record b¤ row edImTaMgRsugeLIy. The syntax is: UPDATE table-name SET field1=‟val1‟, field2=‟val2‟, field3=‟val3‟………… WHERE condition; ex. update tblpeople set password=’maco’ where username=’muth’ ;