-
Notifications
You must be signed in to change notification settings - Fork 0
/
tutorials-php.html
799 lines (604 loc) · 37.1 KB
/
tutorials-php.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>PrograMix</title>
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<style>
body {
padding-top: 70px;
/* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
font-size: 15px;
font-style: verdana;
}
li{
color: #33AAFF;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html"><img src="images/logo-trans-134px.png" style="margin-top: -10px"></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse " id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<!-- languages nav and dropdown-->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false">Programming Languages<span class="caret"></span></a>
<!-- languages dropdown menu -->
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<ul>
<li><a class="dropdown-item" href="programming-language-java.html">Java</a></li>
<li><a class="dropdown-item" href="programming-language-python.html">Python</a></li>
<li><a class="dropdown-item" href="programming-language-haskell.html">Haskell</a></li>
<li><a class="dropdown-item" href="programming-language-php.html">PHP</a></li>
<li><a class="dropdown-item" href="programming-language-c++.html">C++</a></li>
<li><a class="dropdown-item" href="programming-language-c_sharp.html">C#</a></li>
<li><a class="dropdown-item" href="programming-language-ios.html">IOS - Objective-C</a></li>
<li><a class="dropdown-item" href="programming-language-SQL.html">SQL</a></li>
<li><a class="dropdown-item" href="programming-language-Perl.html">Perl</a></li>
<li><a class="dropdown-item" href="programming-language-JavaScript.html">JavaScript</a></li>
</ul>
</div>
</li><!--end of languages dropdown-->
<!--tutorials in nav and dropdown-->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false">Tutorials<span class="caret"></span></a>
<!-- Tutorials dropdown menu -->
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<ul>
<li><a class="dropdown-item" href="tutorials-java.html">Java</a></li>
<li><a class="dropdown-item" href="tutorials-python.html">Python</a></li>
<li><a class="dropdown-item" href="tutorials-haskell.html">Haskell</a></li>
<li><a class="dropdown-item" href="tutorials-php.html">PHP</a></li>
<li><a class="dropdown-item" href="tutorials-c++.html">C++</a></li>
<li><a class="dropdown-item" href="tutorials-c_shar.html">C#</a></li>
<li><a class="dropdown-item" href="tutorials-ios.html">IOS - Objective-C</a></li>
<li><a class="dropdown-item" href="tutorials-sql.html">SQL</a></li>
<li><a class="dropdown-item" href="tutorials-perl.html">Perl</a></li>
<li><a class="dropdown-item" href="tutorials-js.html">JavaScript</a></li>
</ul>
</div>
</li><!-- end of tutorials -->
<!--programming software in navbar with dropdown-->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false">Programming Softwares<span class="caret"></span></a>
<!-- languages dropdown menu -->
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<ul>
<li><a class="dropdown-item" href="prosoft-nb.html">NetBeans</a></li>
<li><a class="dropdown-item" href="prosoft-jc.html">JCreator</a></li>
<li><a class="dropdown-item" href="prosoft-st.html">Sublime Text</a></li>
<li><a class="dropdown-item" href="prosoft-eclipse.html">Eclipse</a></li>
<li><a class="dropdown-item" href="prosoft-xcode.html">Xcode</a></li>
</ul>
</div>
</li><!-- end of programming softwares -->
<!-- search bar icon w/ dropdown searchbox-->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false"><img src="images/search-icon.png"></a>
<!-- languages dropdown menu -->
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<form method="get" action="/search" id="search">
<input name="q" type="text" size="40" placeholder="Search..." />
</form>
</div>
</li><!-- end of search bar-->
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Content w/ container-->
<div class="container">
<div class="row">
<div class="col-lg-12 text-left">
<div class="jumbotron jumbotron-fluid">
<div class="container" style="text-align: center">
<h1 class="display-3">PHP</h1>
<p class="lead"> </p>
</div>
</div>
<p class="lead">
<h1>PHP Variables</h1>
<p style="text-indent: 40px">A variable is just a storage area. You put things into your storage areas (variables) so that you can use and manipulate them in your programmes. Things you'll want to store are numbers and text.</p>
<p style="text-indent: 40px">If you're ok with the idea of variables, then you can move on. If not, think of them like this. Suppose you want to catalogue your clothing collection. You enlist two people to help you, a man and a woman. These two people are going to be your storage areas. They are going to hold things for you, while you tally up what you own. The man and the woman, then, are variables.</p>
<p style="text-indent: 40px">You count how many coats you have, and then give these to the man. You count how many shoes you have, and give these to the woman. Unfortunately, you have a bad memory. The question is, which one of your people (variables) holds the coats and which one holds the shoes? To help you remember, you can give your people names! You could call them something like this:</p>
<div class="alert alert-info" role="alert">
mr_coats<br>
mrs_shoes
</div>
<p style="text-indent: 40px">But it's entirely up to you what names you give your people (variables). If you like, they could be called this:</p>
<div class="alert alert-info" role="alert">
man_coats<br>
woman_shoes
</div>
<p style="text-indent: 40px">Or</p>
<div class="alert alert-info" role="alert">
HimCoats<br>
HerShoes
</div>
<p style="text-indent: 40px">But because your memory is bad, it's best to give them names that help you remember what it is they are holding for you. (There are some things your people balk at being called. You can't begin their names with an underscore (_), or a number. But most other characters are fine.)</p>
<p style="text-indent: 40px">OK, so your people (variables) now have name. But it's no good just giving them a name. They are going to be doing some work for you, so you need to tell them what they will be doing. The man is going to be holding the coats. But we can specify how many coats he will be holding. If you have ten coats to give him, then you do the "telling" like this:</p>
<div class="alert alert-info" role="alert">
mr_coats = 10
</div>
<p style="text-indent: 40px">So, the variable name comes first, then an equals sign. After the equals sign, you tell your variable what it will be doing. Holding the number 10, in our case. (The equals sign, by the way, is not really an equals sign. It's called an assignment operator. But don't worry about it, at this stage. Just remember that you need the equals sign to store things in your variables.)</p>
<p style="text-indent: 40px">However, you're learning PHP, so there's something missing. Two things, actually. First, your people (variables) need a dollar sign at the beginning (people are like that). So it would be this:</p>
<div class="alert alert-info" role="alert">
$mr_coats = 10
</div>
<p style="text-indent: 40px">If you miss the dollar sign out, then your people will refuse to work! But the other thing missing is something really picky and fussy - a semi-colon. Lines of code in PHP need a semi-colon at the end:</p>
<div class="alert alert-info" role="alert">
$mr_coats = 10;
</div>
<p style="text-indent: 40px">If you get any parse errors when you try to run your code, the first thing to check is if you've missed the semi-colon off the end. It's very easy to do, and can be frustrating. The next thing to check is if you've missed out a dollar sign. But back to our people (variables).</p>
<p style="text-indent: 40px">So the man is holding ten coats. We can do the same thing with the other person (variable):</p>
<div class="alert alert-info" role="alert">
$mrs_shoes = 25;
</div>
<p style="text-indent: 40px">So, $mrs_shoes is holding a value of 25. If we then wanted to add up how many items of clothes we have so far, we could set up a new variable (Note the dollar sign at the begining of the new variable):</p>
<div class="alert alert-info" role="alert">
$total_clothes
</div>
<p style="text-indent: 40px">We can then add up the coats and the shoes. You add up in PHP like this:</p>
<div class="alert alert-info" role="alert">
$total_clothes = $mr_coats + $mrs_shoes;
</div>
<p style="text-indent: 40px">Remember, $mr_coats is holding a value of 10, and $mrs_shoes is holding a value of 25. If you use a plus sign, PHP thinks you want to add up. So it will work out the total for you. The answer will then get stored in our new variable, the one we've called $total_clothes. You can also add up like this:</p>
<div class="alert alert-info" role="alert">
$total_clothes = 10 + 35;
</div>
<p style="text-indent: 40px">Again, PHP will see the plus sign and add the two together for you. Of course, you can add up more than two items:</p>
<div class="alert alert-info" role="alert">
$total_clothes = 10 + 35 + 7 + 38 + 1250;
</div>
<p style="text-indent: 40px">But the idea is the same - PHP will see plus signs and then add things up. The answer is then stored in your variable name, the one to the left of the equals sign.</p>
<h1>Putting Text into Variables</h1>
<p style="text-indent: 40px">In the previous section, you saw how to put numbers into variables. But you can also put text into your variables. Suppose you want to know something about the coats you own. Are they Winter coats? Jackets? Summer coats? You decide to catalogue this, as well. You can put direct text into your variables. You do it in a similar way to storing numbers:</p>
<div class="alert alert-info" role="alert">
$coats1 = "Winter Coats";
</div>
<p style="text-indent: 40px">Again, our variable name starts with a dollar sign ($). We've then given it the name coats1. The equals sign follows the variable name. After the equals sign, however, we have direct text - Winter Coats. But notice the double quotation marks around our text. If you don't surround your direct text with quotation marks, then you'll get errors. You can, however, use single quotes instead of double quotes. So you can do this:</p>
<div class="alert alert-info" role="alert">
$coats1 = 'Winter Coats';
</div>
<p style="text-indent: 40px">But you can't do this:</p>
<div class="alert alert-info" role="alert">
$coats1 = 'Winter Coats";
</div>
<p style="text-indent: 40px">In the above line, we've started with a single quote and ended with a double quote. This will get you an error.</p>
<p style="text-indent: 40px">We can store other text in the same way:</p>
<div class="alert alert-info" role="alert">
$coats2 = "Jackets";<br>
$coats3 = "Summer Coats";
</div>
<p style="text-indent: 40px">The direct text will then get stored in the variable to the left of the equals sign.</p>
<p style="text-indent: 40px">So, to recap, variables are storage areas. You use these storage areas to manipulate things like text and numbers.</p>
<h1>Some Practice with PHP Variables</h1>
<p style="text-indent: 40px">In the previous section, you saw what variables are: storage areas to hold things like numbers and text. You tell PHP to remember these values because you want to do something with them. In this section, you'll get some practice using variables. Off we go.</p>
<h3>Testing variables with PHP</h3>
<p style="text-indent: 40px">First, we'll take a look at how to display what's in your variables. We're going to be viewing our results on a web page. So see if you can get this script working first, because it's the one we'll be building on. Using a text editor like Notepad, or your PHP software, type the following. (You can copy and paste it, if you prefer. But you learn more by typing it out yourself - it doesn't really sink in unless you're making mistakes!)</p>
<div class="alert alert-info" role="alert">
<html><br>
<head><br>
<title>Variables - Some Practice</title><br>
</head><br>
<body><br>
<br>
<?php print("It Worked!"); ?><br>
<br>
</body><br>
</html>
</div>
<p style="text-indent: 40px">When you've finished typing it all, save the page as <b>variables.php</b>. Then Run the script. Remember: when you're saving your work, save it to the WWW folder, as explained here. To run the page, start your browser up and type this in the address bar:</p>
<div class="alert alert-info" role="alert">
http://localhost/variables.php
</div>
<p style="text-indent: 40px">If you've created a folder inside the www folder, then the address to type in your browser would be something like:</p>
<div class="alert alert-info" role="alert">
http://localhost/FolderName/variables.php
</div>
<p style="text-indent: 40px">If you were successful, you should have seen the text "It worked!" displayed in your browser. If so, Congratulations! You have a working server up and running! (If you're using Wampserver, you should see an icon in the bottom right of your screen. Click the icon and select <b>Start All Services</b> from the menu.)</p>
<div class="alert alert-info" role="alert">
The PHP script is only one line long:<br>
<?php print("It Worked!"); ?>
</div>
<p style="text-indent: 40px">The rest of the script is just plain HTML code. Let's examine the PHP in more detail.</p>
<p style="text-indent: 40px">We've put the PHP in the BODY section of an HTML page. Scripts can also, and often do, go between the HEAD section of an HTML page. You can also write your script without any HTML. But before a browser can recognise your script, it needs some help. You have to tell it what kind of script it is. Browsers recognise PHP by looking for this punctuation (called syntax):</p>
<div class="alert alert-info" role="alert">
<?php ?>
</div>
<p style="text-indent: 40px">So you need a left angle bracket ( < ) then a question mark ( ? ). After the question mark, type PHP (in upper or lowercase). After your script has finished, type another question mark. Finally, you need a right angle bracket ( > ). You can put as much space as you like between the opening and closing syntax.</p>
<p style="text-indent: 40px">To display things on the page, we've used <b>print( )</b>. What you want the browser to print goes between the round brackets. If you're printing direct text, then you need the quotation marks (single or double quotes). To print what's inside of a variable, just type the variable name (including the dollar). Finally, the line of code ends as normal - with a semi-colon (;). Another way to display things on the page is to use an alternative to print() – <b>echo( )</b>.</p>
<p style="text-indent: 40px">Now let's adapt the basic page so that we can set up some variables. We'll try some text first. Keep the HTML as it is, but change your PHP from this:</p>
<div class="alert alert-info" role="alert">
<?php print("It Worked!"); ?>
</div>
<p style="text-indent: 40px">To this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
print("It Worked!");<br>
<br>
?>
</div>
<p style="text-indent: 40px">OK, it's not much of a change! But spreading your code out over more than one line makes it easier to see what you're doing. Now, it's clear that there's only one line of code - Print. So add this second line to your code:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$test_String = "It Worked!";<br>
<br>
print("It Worked!");<br>
<br>
?>
</div>
<p style="text-indent: 40px">We've set up a variable called <b>$test_String</b>. After the equals sign, the text "It Worked!" has been added. The line is then ended with a semi-colon. Don't run your script yet. Change the Print line to this:</p>
<div class="alert alert-info" role="alert">
print($test_String);
</div>
<p style="text-indent: 40px">Then add some comments ...</p>
<div class="alert alert-info" role="alert">
<?php<br>
//--------------TESTING VARIABLES------------<br>
<br>
$test_String = "It Worked!";<br>
<br>
print($test_String);<br>
<br>
?>
</div>
<p style="text-indent: 40px">Comments in PHP are for your benefit. They help you remember what the code is supposed to do. A comment can be added by typing two slashes. This tells PHP to ignore the rest of the line. After the two slashes, you can type anything you like. Another way to add a comment, is like this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
/* --------------TESTING VARIABLES------------<br>
Use this type of comment if you want to spill over to more than one line.<br>
Notice how the comment begin and end.<br>
*/<br>
<br>
$test_String = "It Worked!";<br>
<br>
print($test_String);<br>
<br>
?>
</div>
<p style="text-indent: 40px">Whichever method you choose, make sure you add comment to your code: they really do help. Especially if you have to send your code to someone else!</p>
<p style="text-indent: 40px">But you can now run the script above, and test it out.</p>
<p style="text-indent: 40px">How did you get on? You should have seen that exactly the same text got printed to the page. And you might be thinking - what's the big deal? Well, what you just did was to pass some text to a variable, and then have PHP print the contents of the variable. It's a big step: your coding career has now begun!</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Change the text "It Worked!" to anything you like. Then run the script again. Try typing some numbers in between your double quotes, instead of text.</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Change the double quotes to single quotes. Did it have any effect? Put a single quote at the beginning of your text, and a double quote at the end. What happens when you run the code?</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Delete the dollar sign from the variable name. Then run your code. What error did you get? Put the dollar sign back, but now delete the semi-colon. Run your code again? What error did you get, this time? It's well worth remembering these errors - you'll see them a lot when you're starting out! If you see them in future, you'll be better able to correct your errors.</p>
<h1>More PHP Variable Practice</h1>
<p style="text-indent: 40px">In the previous section, you started to work with variables. You outputted text to a page. In the next few sections, you'll do some more work with variables, and learn how to do your sums with PHP.</p>
<p style="text-indent: 40px">But now that you can print text to a page, let's try some numbers. Start with the basic PHP page again, and save your work as <b>variables2.php</b></p>
<div class="alert alert-info" role="alert">
<html><br>
<head><br>
<title>More on Variables</title><br>
</head><br>
<body><br>
<br>
<?php<br>
<br>
print ("Basic Page");<br>
<br>
?><br>
<br>
</body><br>
</html><br>
</b>
</div>
<p style="text-indent: 40px">We'll now set up a variable and print it to the page. So change your code to this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
print ($first_number);<br>
<br>
?>
</div>
<p style="text-indent: 40px">All the code does is to print the contents of the variable that we've called <b>$first_number</b>. Remember: if you're printing direct text then you need quotation marks; if you're printing a variable name then you leave the quotes out. To see why, run the first script above. Then change the print line to this:</p>
<div class="alert alert-info" role="alert">
print ("$first_number");
</div>
<p style="text-indent: 40px">In other words, add double quotation marks around your variable name. Did it make a difference? What did you expect would print out? Now change the double quotes to single quotes. Run your script again. With double quotes, the number 10 still prints; with single quotes, you get the variable name!</p>
<h1>PHP Concatenation</h1>
<p style="text-indent: 40px">You can join together direct text, and whatever is in your variable. The full stop (period or dot, to some) is used for this. Suppose you want to print out the following "My variable contains the value of 10". In PHP, you can do it like this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$direct_text = 'My variable contains the value of ';<br>
<br>
print($direct_text . $first_number);<br>
<br>
?>
</div>
<p style="text-indent: 40px">So now we have two variables. The new variable holds our direct text. When we're printing the contents of both variables, a full stop is used to separate the two. Try out the above script, and see what happens. Now delete the dot and then try the code again. Any errors?</p>
<p style="text-indent: 40px">You can also do this sort of thing:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
<br>
print ('My variable contains the value of ' . $first_number);<br>
<br>
?>
</div>
<p style="text-indent: 40px">This time, the direct text is not inside a variable, but just included in the Print statement. Again a full stop is used to separate the direct text from the variable name. What you've just done is called concatenation. Try the new script and see what happens.</p>
<h1>Addition in PHP</h1>
<p style="text-indent: 40px">OK, let's do some adding up. To add up in PHP, the plus symbol (+) is used. (If you still have the code open from the previous page, try changing the full stop to a plus symbol. Run the code, and see what happens.)</p>
<p style="text-indent: 40px">To add up the contents of variables, you just separate each variable name with a plus symbol. Try this new script:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$sum_total = $first_number + $second_number;<br>
<br>
$direct_text = 'The two variables added together = ';<br>
<br>
print ($direct_text . $sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">In the above script, we've added a second number, and assigned a value to it:</p>
<div class="alert alert-info" role="alert">
$second_number = 20;
</div>
<p style="text-indent: 40px">A third variable is then declared, which we've called $sum_total. To the right of the equals sign, we've added up the contents of the first variable and the contents of the second variable:</p>
<div class="alert alert-info" role="alert">
$sum_total = $first_number + $second_number;
</div>
<p style="text-indent: 40px">PHP knows what is inside of the variables called <b>$first_number</b> and <b>$second_number</b>, because we've just told it in the two line above! It sees the plus symbol, then adds the two values together. It puts the answer to the addition in the variable to the left of the equals sign (=), the one we've called <b>$sum_total</b>.</p>
<p style="text-indent: 40px">To print out the answer, we've used concatenation:</p>
<div class="alert alert-info" role="alert">
print ($direct_text . $sum_total);
</div>
<p style="text-indent: 40px">This script is a little more complicated than the ones you've been doing. If you're a bit puzzled, just remember what it is we're doing: adding the contents of one variable to the contents of another. The important line is this one:</p>
<div class="alert alert-info" role="alert">
$sum_total = $first_number + $second_number;
</div>
<p style="text-indent: 40px">The addition to the right of the equals sign gets calculated first (<b>$first_number + $second_number</b>). The total of the addition is then stored in the variable to the left of the equals sign (<b>$sum_total</b> =).</p>
<p style="text-indent: 40px">You can, of course, add up more than two numbers. Try this exercise.</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Add a third variable to your code. Assign a value of 30 to your new variable. Put the sum total of all three variables into the variable called <b>$sum_total</b>. Use concatenation to display the results. (In other words, add up 10, 20, and 30!)</p>
<p style="text-indent: 40px">You don't have to use variable names to add up. You can do this:</p>
<div class="alert alert-info" role="alert">
print (10 + 20 + 30);
</div>
<p style="text-indent: 40px">Or even this:</p>
<div class="alert alert-info" role="alert">
$number = 10;<br>
<br>
print ($number + 30);
</div>
<p style="text-indent: 40px">But the point is the same - use the plus symbol (+) to add up.</p>
<h1>Subtraction in PHP</h1>
<p style="text-indent: 40px">We're not going to weigh things down by subjecting you to torrents of heavy Math! But you do need to know how to use the basic operators. First up is subtracting.</p>
<p style="text-indent: 40px">To add up using PHP variables, you did this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$sum_total = $first_number + $second_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">Subtraction is more or less the same. Instead of the plus sign (+), simply use the minus sign (-). Change your <b>$sum_total</b> line to this, and run your code:</p>
<div class="alert alert-info" role="alert">
$sum_total = $second_number - $first_number;
</div>
<p style="text-indent: 40px">The <b>$sum_total</b> line is more or less the same as the first one. Except we're now using the minus sign instead (and reversing the two variables). When you run the script you should, of course, get the answer 10. Again, PHP knows what is inside of the variables called <b>$second_number</b> and <b>$first_number</b>. It knows this because you assigned values to these variables in the first two lines. When PHP comes across the minus sign, it does the subtraction for you, and puts the answer into the variable on the left of the equals sign. We then use a print statement to display what is inside of the variable.</p>
<p style="text-indent: 40px">Just like addition, you can subtract more than one number at a time. Try this:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$third_number = 100;<br>
<br>
$sum_total = $third_number - $second_number - $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">The answer you should get is 70. You can also mix addition with subtraction. Here's an example:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$third_number = 100;<br>
<br>
$sum_total = $third_number - $second_number + $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">Run the code above. What answer did you get? Was it the answer you were expecting? Why do you think it printed the number it did? If you thought it might have printed a different answer to the one you got, the reason might be the way we set out the sum. Did we mean 100 - 20, and then add the 10? Or did we mean add up 10 and 20, then take it away from 100? The first sum would get 90, but the second sum would get 70.</p>
<p style="text-indent: 40px">To clarify what you mean, you can use parentheses in your sums. Here's the two different versions of the sum. Try them both in your code. But note where the parentheses are:</p>
<br>
Version one<br>
$sum_total = ($third_number - $second_number) + $first_number;<br>
<br>
Version two<br>
$sum_total = $third_number - ($second_number + $first_number);<br>
<br>
<p style="text-indent: 40px">It's always a good idea to use parentheses in your sums, just to clarify what you want PHP to calculate. That way, you won't get a peculiar answer!</p>
<p style="text-indent: 40px">Another reason to use parentheses is because of something called <b>operator precedence</b>. In PHP, some operators (Math symbols) are calculated before others. This means that you'll get answers that are entirely unexpected!</p>
<h1>Multiplication in PHP</h1>
<p style="text-indent: 40px">To multiply in PHP (and just about every other programming language), the * symbol is used. If you see 20 * 10, it means multiply 20 by 10. Here's some code for you to try:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$sum_total = $second_number * $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">In the above code, we're just multiplying whatever is inside of our two variables. We're then assigning the answer to the variable on the left of the equals sign. (You can probably guess what the answer is without running the code!)</p>
<p style="text-indent: 40px">Just like addition and subtraction, you can multiply more than two numbers:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$third_number = 100;<br>
<br>
$sum_total = $third_number * $second_number * $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">And you can even do this:</p>
<div class="alert alert-info" role="alert">
$sum_total = $third_number * $second_number * 10;
</div>
<p style="text-indent: 40px">But try this code. See if you can guess what the answer is before trying it out:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 2;<br>
$third_number = 3;<br>
<br>
$sum_total = $third_number + $second_number * $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">What answer did you expect? If you were expecting to get an answer of 50 then you really need to know about operator precedence! As was mentioned, some operators (Math symbols) are calculated before others in PHP. Multiplication and division are thought to be more important that addition and division. So these will get calculated first. In our sum above, PHP sees the * symbol, and then multiplies these two numbers first. When it works out the answer, it will move on to the other symbol, the plus sign. It does this first:</p>
<div class="alert alert-info" role="alert">
$second_number * $first_number;
</div>
<p style="text-indent: 40px">Then it moves on to the addition. It doesn't do this first:</p>
<div class="alert alert-info" role="alert">
$third_number + $second_number
</div>
<p style="text-indent: 40px">This makes the parentheses more important than ever! Use them to force PHP to work out the sums your way. Here's the two different version. Try them both:</p>
<br>
Version one<br>
$sum_total = $third_number + ($second_number * $first_number);<br>
<br>
Version two<br>
$sum_total = ($third_number + $second_number) * $first_number;<br>
<br>
<p style="text-indent: 40px">Here's we're using parentheses to force two different answers. PHP will work out the sum between the parentheses first, and then move on to the other operator. In version one, we're using parentheses to make sure that PHP does the multiplication first. When it gets the answer to the multiplication, THEN the addition is done. In version two, we're using parentheses to make sure that PHP does the addition first. When it gets the answer to the addition, THEN the multiplication is done.</p>
<h1>Division in PHP</h1>
<p style="text-indent: 40px">To divide one number by another, the / symbol is used in PHP. If you see 20 / 10, it means divide 10 into 20. Try it yourself:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$sum_total = $second_number / $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">Again, you have to be careful of operator precedence. Try this code:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 10;<br>
$second_number = 20;<br>
$third_number = 100;<br>
<br>
$sum_total = $third_number - $second_number / $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">PHP won't work out the sum from left to right! Division is done before subtraction. So this will get done first:</p>
<div class="alert alert-info" role="alert">
$second_number / $first_number
</div>
<p style="text-indent: 40px">And NOT this:</p>
<div class="alert alert-info" role="alert">
$third_number - $second_number
</div>
<p style="text-indent: 40px">Using parentheses will clear things up. Here's the two versions for you to try:</p>
<br>
Version one<br>
$sum_total = $third_number - ($second_number / $first_number);<br>
<br>
Version two<br>
$sum_total = ($third_number - $second_number) / $first_number;<br>
<br>
<p style="text-indent: 40px">The first version will get you an answer of 98, but the second version gets you an answer of 8! So remember this: division and multiplication get done BEFORE subtraction and addition. Use parentheses if you want to force PHP to calculate a different way.</p>
<h1>Floating Point Numbers in PHP</h1>
<p style="text-indent: 40px">A floating point number is one that has a dot in it, like 0.5 and 10.8. You don't need any special syntax to set these types of numbers up. Here's an example for you to try:</p>
<div class="alert alert-info" role="alert">
<?php<br>
<br>
$first_number = 1.2;<br>
$second_number = 2.5;<br>
$sum_total = $second_number + $first_number;<br>
<br>
print ($sum_total);<br>
<br>
?>
</div>
<p style="text-indent: 40px">You add up, subtract, divide and multiply these numbers in exactly the same way as the integers you've been using. A warning comes with floating point numbers, though: you shouldn't trust them, if you're after a really, really precise answer!</p>
<h3>Some Exercises</h3>
<p style="text-indent: 40px">To round up this section on number variables, here's a few exercises (In your print statements, there should be no numbers – just variable names):</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Write a script to add up the following figures: 198, 134, 76. Use a print statement to output your answer.</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Write a script to add up the following two numbers: 15, 45. Then subtract the answer from 100. Use a print statement to output your answer.</p>
<h3>Exercise</h3>
<p style="text-indent: 40px">Use variables to calculate the answer to the following sum:</p>
<div class="alert alert-info" role="alert">
(200 * 15) / 10
</div>
<p style="text-indent: 40px">Use a print statement to output your answer.</p>
</p>
<br>
<br>
<br>
<br>
</div>
</div>
<!-- /.row -->
</div>
<!-- end of content & container -->
<!-- jQuery Version 1.11.1 -->
<script src="js/jquery.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>