Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
PHP variables - dynamically typed. What does that mean?

Charlie the catWhen we're programming, we store data in our computer memory in one step of our process, then read it back for further reference or processing in a later step. In the very early days, this was planned out using the numeric location in the computer memory, but very rapidly programming languages were developed where we name rather than number locations. This change allowed for relocatable code to be written which could run at different places at diffent times - vital on timeshared computers that have many different programs running at the same time. Naming also makes life very much easier for the programmer in that his program will refer to stored data by a name of his choosing - typically a descriptive word or some sort - rather than by an obscure number.

When writing in many languages, the programmer specifies the name of each variable he'll be using, and the type of data it's going to contain. Computers work with patterns or 0s and 1s (binary), and a group of 32 of these could contain a whole number (also known as an integer), a real number (a float), a string of 4 characters (ASCII text) or various other things. That's why the type is declared - so that the correct interprettation is put onto the bit pattern later on n the program. Languages like C and C++ work in this way - the code runs very fast, but it can be quite slow to actually write it. [C Courses].

As well as it being a lot of extra work to declare all your variables, and their types, ahead of time, you need to know how much memory you'll need as you write your program. If I'm going to allocate up to 10 float values for the ages of pets (if we're writing some sort of vetinary application), then that puts a limit on the program and we have a problem when the woman with 27 cats.

The solution applied in PHP (and Perl, Python, Ruby and Lua of the languages we teach) is to use dynamic variable allocation and typing


When a variable is first referenced within a program, memory is allocated for its use. The type of data to be stored in the variable can be determined by the context of the program code in which it appears, and as well as the data being stored, there are some extra bits - always in the same place - which indicate the type of data. This makes for code that runs a little bit slower, but is far quicker to run. And it allows for the language to be easily and natureally extended to allow for changing the type (and size) of what the variable contains even as the program runs.

In PHP, variables can contain whole numbers (integers), numbers with decimals (floats), strings of text, and arrays ... and a whole load of other things too like objects, bool (boolean) and resources - such as file handles.


Explanation from one of our PHP courses running this week. Opening image - our cat Charlie, who really does not want to be one of 27!
(written 2012-11-08, updated 2012-11-10)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H103 - PHP - Variables, Operators and Expressions
  [4642] A small teaching program - demonstration of principles only - (2016-02-08)
  [4324] Learning to program - variables and constants - (2014-11-22)
  [3917] BODMAS - the order a computer evaluates arithmetic expressions - (2012-11-09)
  [3278] Do I need to initialise variables - programming in C, C++, Perl, PHP, Python, Ruby or Java. - (2011-05-05)
  [2215] If nothing, make it nothing. - (2009-06-02)
  [748] Getting rid of variables after you have finished with them - (2006-06-06)
  [483] Double Dollars in PHP - (2005-11-02)


Back to
How does PHP work?
Previous and next
or
Horse's mouth home
Forward to
BODMAS - the order a computer evaluates arithmetic expressions
Some other Articles
Challenge for a photographer
What is a web framework?
Multiple page web applications - maintaining state - PHP
PHP variables - dynamically typed. What does that mean?
How does PHP work?
While, for, foreach or something else to loop.
How many times ... has this loco headed west through Tenby? - Python exceptions
Sand to Arabia, Coals to Newcastle or Woodburners to Russia
How well do you know Perl and / or Python?
4759 posts, page by page
Link to page ... 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 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3916_PHP ... mean-.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat