{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f285\froman\fcharset238\fprq2 Times New Roman CE;}{\f286\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f288\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f289\froman\fcharset162\fprq2 Times New Roman Tur;}{\f290\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f291\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f292\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f293\fswiss\fcharset238\fprq2 Arial CE;}{\f294\fswiss\fcharset204\fprq2 Arial Cyr;}{\f296\fswiss\fcharset161\fprq2 Arial Greek;}{\f297\fswiss\fcharset162\fprq2 Arial Tur;}{\f298\fswiss\fcharset177\fprq2 Arial (Hebrew);}
{\f299\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f300\fswiss\fcharset186\fprq2 Arial Baltic;}{\f301\fmodern\fcharset238\fprq1 Courier New CE;}{\f302\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f304\fmodern\fcharset161\fprq1 Courier New Greek;}
{\f305\fmodern\fcharset162\fprq1 Courier New Tur;}{\f306\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f307\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f308\fmodern\fcharset186\fprq1 Courier New Baltic;}}{\colortbl;\red0\green0\blue0;
\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;
\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red255\green102\blue0;\red153\green153\blue153;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel0\rin0\lin0\itap0 \b\fs32\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{
\s2\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel1\rin0\lin0\itap0 \fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 2;}{\s3\qj \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel2\rin0\lin0\itap0
\fs32\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 3;}{\*\cs10 \additive Default Paragraph Font;}{\s15\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
\sbasedon0 \snext15 Body Text;}{\s16\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \f2\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext16 Body Text 2;}{\s17\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0
\fs24\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 Body Text 3;}{\*\cs18 \additive \ul\cf2 \sbasedon10 Hyperlink;}}{\info{\title WORKING WITH PHP ARRAYS}{\author Lloyd Roseblade}{\operator Lloyd Roseblade}
{\creatim\yr2002\mo4\dy13\hr14\min54}{\revtim\yr2002\mo4\dy17\hr19\min18}{\version125}{\edmins576}{\nofpages9}{\nofwords1856}{\nofchars10584}{\nofcharsws0}{\vern8247}}
\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale75\nolnhtadjtbl \fet0\sectd \linex0\sectdefaultcl
{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \qc \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b\f1\fs40\lang1033\langfe1033\langnp1033
WORKING WITH PHP ARRAYS
\par }{\b\f1\fs16\lang1033\langfe1033\langnp1033 By Torrent
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\b\f1\fs16\lang1033\langfe1033\langnp1033
\par }{\b\fs28\lang1033\langfe1033\langnp1033
\par }\pard\plain \s2\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel1\rin0\lin0\itap0 \fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b Scope
\par }\pard\plain \s15\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\fs24 PHP offers a comprehensive range of array functions that allow the budding developer to manipulate their }{\fs24\cf17 arrays}{
\fs24 in ways that in other languages would be more cumbersome. This tutorial is primarily aimed at those w
ho are new to PHP although it is hoped that some more experienced programmers may find some of the information in the Useful Operations section interesting as well.
\par }\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\fs22\lang1033\langfe1033\langnp1033
\par }\pard\plain \s2\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel1\rin0\lin0\itap0 \fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b Defining your array
\par }\pard\plain \s16\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \f2\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f0\fs24\lang1033\langfe1033\langnp1033 What are }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 arrays}{
\f0\fs24\lang1033\langfe1033\langnp1033 ? Days of the week, months in a year, or even items in a shopping cart are all good examples of where }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 arrays}{\f0\fs24\lang1033\langfe1033\langnp1033
could be used. Simply speaking, an }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 array}{\f0\fs24\lang1033\langfe1033\langnp1033
is nothing more than a convenient means of storing related information. In short; a list of variables stored in a variable. Once the data has been stored in the }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 array}{
\f0\fs24\lang1033\langfe1033\langnp1033 it can be read, modified, sorted, and generally worked with in a more efficient and convenient manner. }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 Arrays}{\f0\fs24\cf1\lang1033\langfe1033\langnp1033
are a powerful means of working with related information and make your programs look well scripted and structured.
\par }{\f0\cf1\lang1033\langfe1033\langnp1033
\par }{\f0\fs24\lang1033\langfe1033\langnp1033 Okay, enough talking; let's get stuck in! Here's an example of an }{\f0\fs24\cf17\lang1033\langfe1033\langnp1033 array}{\f0\fs24\lang1033\langfe1033\langnp1033 :}{\b\f0\fs24\lang1033\langfe1033\langnp1033
\par }\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 1:
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Monday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Tuesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Wednesday"}{\f2\fs20\cf18\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Thursday"}{\f2\fs20\cf18\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Firday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Saturday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs22\cf15\lang1033\langfe1033\langnp1033
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\cf1\lang1033\langfe1033\langnp1033 In the example above you can see the variable }{\f2\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\cf1\lang1033\langfe1033\langnp1033 }{
\cf1\lang1033\langfe1033\langnp1033 has been set up as an }{\cf17\lang1033\langfe1033\langnp1033 array}{\cf1\lang1033\langfe1033\langnp1033 and that each }{\cf17\lang1033\langfe1033\langnp1033 element}{\cf1\lang1033\langfe1033\langnp1033 of the }{
\cf17\lang1033\langfe1033\langnp1033 array}{\cf1\lang1033\langfe1033\langnp1033 contains a name of day. Later you will learn how to reference and work with these }{\cf17\lang1033\langfe1033\langnp1033 elements}{\cf1\lang1033\langfe1033\langnp1033
individually, for now though let\rquote s just concentrate on setting up your }{\cf17\lang1033\langfe1033\langnp1033 array}{\cf1\lang1033\langfe1033\langnp1033 . The above example is one way of defining an }{\cf17\lang1033\langfe1033\langnp1033 array}{
\cf1\lang1033\langfe1033\langnp1033 but another, more efficient, way of obtaining the same result is like this:
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 2:
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Monday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Tuesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 , }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
"Wednesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 , }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Thursday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 , }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Firday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 , }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Saturday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\f2\fs22\cf15\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Both methods achieve exactly the same result but the second method is preferred when you are able to define all the values at once. The first method is useful when defining the values from within a loop.
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs22\cf1\lang1033\langfe1033\langnp1033 \page }{\b\fs28 Indexing
\par }{\lang1033\langfe1033\langnp1033 Once you have populated your }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 you need to be able retrieve the individual }{\cf17\lang1033\langfe1033\langnp1033 elements }{
\lang1033\langfe1033\langnp1033 for use within your application. This is achieved through }{\cf17\lang1033\langfe1033\langnp1033 indexing}{\lang1033\langfe1033\langnp1033 . When you wish to access an }{\cf17\lang1033\langfe1033\langnp1033 element}{
\lang1033\langfe1033\langnp1033 you can do so by specifying its offset within the }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 . It is important know that }{\cf17\lang1033\langfe1033\langnp1033 array}{
\lang1033\langfe1033\langnp1033 indices start at }{\b\lang1033\langfe1033\langnp1033 0}{\lang1033\langfe1033\langnp1033
. Always! Without exception! So, if we were working with any of the above examples and wished to display the second day of the week then we would reference it by specifying an }{\cf17\lang1033\langfe1033\langnp1033 index}{\lang1033\langfe1033\langnp1033
of }{\b\lang1033\langfe1033\langnp1033 1}{\lang1033\langfe1033\langnp1033 .
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 3:
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Today is "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
$week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ];}{\fs20\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033
\par This would produce the output: }{\f2\fs22\lang1033\langfe1033\langnp1033 Today is Tuesday
\par }{\b\fs28\cf1\lang1033\langfe1033\langnp1033
\par }\pard\plain \s17\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {It may seem awkward to }{\cf17 index}{ an }{\cf17 array}{
from 0 but this is common practice in most programming languages and once you have worked with arrays a few times, becomes second nature. So, what do we do when we want to add to our example }{\cf17 array}{?
\par }{\f2\fs20\cf9 Example 4:
\par }{\f2\fs20\cf6 $week}{\f2\fs20\cf15 [] =}{\f2\fs20\cf9 }{\f2\fs20\cf10 "Sunday"}{\f2\fs20\cf15 ;
\par }{\f2\fs22\cf15
\par }{\cf0 It\rquote s as simple as that! Simply leave the index as blank and PHP will add the value as the last }{\cf17 element}{\cf0 in the }{\cf17 array}{\cf0 . What about replacing the fourth }{\cf17 element}{\cf0
, which has been misspelled, with the correct name?
\par }{\f2\fs20\cf9 Example 5:
\par }{\f2\fs20\cf6 $week}{\f2\fs20\cf15 [}{\f2\fs20\cf12 4}{\f2\fs20\cf15 ]}{\f2\fs20\cf9 }{\f2\fs20\cf15 =}{\f2\fs20\cf9 }{\f2\fs20\cf10 "Friday"}{\f2\fs20\cf15 ;}{\fs20\cf0
\par }\pard\plain \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f2\fs22\lang1033\langfe1033\langnp1033
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033 So now our }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 looks like this:
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 6:
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Monday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Tuesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Wednesday"}{\f2\fs20\cf18\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Thursday"}{\f2\fs20\cf18\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Friday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Saturday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Sunday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs22\cf15\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Okay, let\rquote s look at an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 in action. In example 7 we are going to add together all the numbers contained within an }{
\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 and then display the result:}{\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 7:
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $arrNumbers}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 15}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 20}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $sum}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{
\f2\fs20\lang1033\langfe1033\langnp1033 ;
\par
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 foreach}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $arrNumbers}{\f2\fs20\lang1033\langfe1033\langnp1033 as }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $intNumber}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \{
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $sum}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 +=}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $intNumber}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}
\par }{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Total Value = "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
$sum}{\f2\fs20\lang1033\langfe1033\langnp1033 ;
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 The result in this case being: }{\f2\fs20\lang1033\langfe1033\langnp1033 Total Value = 51
\par }{\f2\fs22\lang1033\langfe1033\langnp1033 \page }{\b\fs28\lang1033\langfe1033\langnp1033 Associative Arrays
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033 In the previous section we talked about accessing }{\cf17\lang1033\langfe1033\langnp1033 elements }{\lang1033\langfe1033\langnp1033 of an }{
\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 through the use of a numerical index (remember}{\cf9\lang1033\langfe1033\langnp1033 , $array[int]}{\lang1033\langfe1033\langnp1033 ). Now I
want to show you another very useful way of }{\cf17\lang1033\langfe1033\langnp1033 indexing}{\lang1033\langfe1033\langnp1033 an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033
through the use of strings. Just take a look at example 8 (don\rquote t worry if it looks a little daunting at first glance):}{\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 8:
\par
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Employees}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith"}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "1, Corbison Close"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Mark Walters" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "15, The Avenue"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Julie Andrews" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Edelweiss Place"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\lang1033\langfe1033\langnp1033
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033 This type of }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 is known as an }{\cf17\lang1033\langfe1033\langnp1033 associative array}{
\lang1033\langfe1033\langnp1033 . What we have done here is to define an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 }{\f2\fs22\cf6\lang1033\langfe1033\langnp1033 $Employees }{\lang1033\langfe1033\langnp1033
and in it place three }{\cf17\lang1033\langfe1033\langnp1033 elements}{\lang1033\langfe1033\langnp1033 , each }{\cf17\lang1033\langfe1033\langnp1033 element}{\lang1033\langfe1033\langnp1033 consists of a }{\cf17\lang1033\langfe1033\langnp1033 key }{
\lang1033\langfe1033\langnp1033 and its corresponding value. We reference the }{\cf17\lang1033\langfe1033\langnp1033 element}{\lang1033\langfe1033\langnp1033 of the }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033
in which we are interested in exactly the same way, substituting the numerical }{\cf17\lang1033\langfe1033\langnp1033 index}{\lang1033\langfe1033\langnp1033 with a }{\cf17\lang1033\langfe1033\langnp1033 key}{\lang1033\langfe1033\langnp1033 .
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 9a:
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par echo }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith lives at "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Employees}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 'John Smith'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ];
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Produces the result: }{\f2\fs22\lang1033\langfe1033\langnp1033 John Smith lives at 1, Corbison Close
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033 To add an }{\cf17\lang1033\langfe1033\langnp1033 element}{\lang1033\langfe1033\langnp1033 to an existing }{\cf17\lang1033\langfe1033\langnp1033 associative}{
\lang1033\langfe1033\langnp1033 }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 , simply do:
\par
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 9b:
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 \line }{\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // Adds the element \'93Stinky Pinky\'94 => \'93Dung Heap\'94 to the
\par // $Employees array.}{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Employees}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
"Stinky Pinky"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ] = }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Dung heap"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\lang1033\langfe1033\langnp1033
\par To remove an }{\cf17\lang1033\langfe1033\langnp1033 element}{\lang1033\langfe1033\langnp1033 then use PHP\rquote s }{\cf9\lang1033\langfe1033\langnp1033 unset}{\lang1033\langfe1033\langnp1033 function. Like so:
\par
\par }\pard\plain \s15\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f2\fs20\cf9
\par }{\f2\fs20 }{\f2\fs20\cf9 unset}{\f2\fs20\cf15 (}{\f2\fs20\cf6 $Employees}{\f2\fs20\cf15 [}{\f2\fs20\cf10 "Stinky Pinky"}{\f2\fs20\cf15 ]);}{\f2\fs20
\par }\pard\plain \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\lang1033\langfe1033\langnp1033
\par }{\cf17\lang1033\langfe1033\langnp1033 Associative arrays}{\lang1033\langfe1033\langnp1033 can be an extremely useful way of accessing }{\cf17\lang1033\langfe1033\langnp1033 elements}{\lang1033\langfe1033\langnp1033
as it negates having to remember which information is stored in which numerical offset by allowing you to assign a more meaningful }{\cf17\lang1033\langfe1033\langnp1033 index}{\lang1033\langfe1033\langnp1033 (the }{\cf17\lang1033\langfe1033\langnp1033
key}{\lang1033\langfe1033\langnp1033 ) to a value. The choice of which method you employ will be determined by what it is you want to achieve with your }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 . Some-times numerical }{
\cf17\lang1033\langfe1033\langnp1033 indexing}{\lang1033\langfe1033\langnp1033 is more suited to the task than }{\cf17\lang1033\langfe1033\langnp1033 associative arrays}{\lang1033\langfe1033\langnp1033 . Whatever the case, an understanding of }{
\cf17\lang1033\langfe1033\langnp1033 associative arrays}{\lang1033\langfe1033\langnp1033 is important as some database functions (such as }{\cf9\lang1033\langfe1033\langnp1033 mysql_fetch_array()}{\lang1033\langfe1033\langnp1033
) return their results as such.
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033 \page
\par }\pard\plain \s2\ql \li0\ri0\keepn\nowidctlpar\faauto\outlinelevel1\rin0\lin0\itap0 \fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b Multidimensional Arrays
\par }\pard\plain \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 Just when you thought it was safe to venture out into the world of }{
\cf17\lang1033\langfe1033\langnp1033 arrays}{\lang1033\langfe1033\langnp1033 , just when you thought }{\cf17\lang1033\langfe1033\langnp1033 associative arrays}{\lang1033\langfe1033\langnp1033 couldn\rquote t faze you, along come }{
\cf17\lang1033\langfe1033\langnp1033 multidimensional arrays}{\lang1033\langfe1033\langnp1033 . }{\cf17\lang1033\langfe1033\langnp1033 Multidimensional arrays}{\lang1033\langfe1033\langnp1033 are not difficult to understand, they are simply an }{
\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 within an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 . Now while this sounds complicated it isn\rquote
t actually that bad when you see it in practice. So let\rquote s do that!
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\fs22\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Example 10:
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Phone}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "111-1111-1111"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Mark Walters"}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "222-2222-2222"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Julie Andrews" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "333-3333-3333"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Email}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith"}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "john@home.com"}
{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Mark Walters" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "mark@work.com"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Julie Andrews"}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "julie@musicalhill.com"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Address}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "1, Corbison Close"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Mark Walters"}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "15, Stinky Avenue"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Julie Andrews" }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Edelweiss Place"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $contact}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Phone}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $Email}
{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =>}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $
Address}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\lang1033\langfe1033\langnp1033
\par
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "John Smith tel: "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $contact}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ][}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
'John Smith'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ];
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Mark Walter email: "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $contact}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ][}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
'Mark Walters'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ];
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Julie Andrews\rquote address: "}{\f2\fs20\lang1033\langfe1033\langnp1033 .}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $contact}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ][}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
'Julie Andrews'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ];
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Produces the following output:
\par }\pard\plain \s16\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \f2\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\fs20 John Smith tel: 111-1111-1111\line Mark Walter email: mark@work.com\line Julie Andrews' address: Edelweiss Place
\par }{
\par }\pard \s16\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f0\fs24 You can see in example 10 that we started by creating three }{\f0\fs24\cf17 arrays}{\f0\fs24 . The first }{\f0\fs24\cf17 array}{\f0\fs24
contained the phone numbers of our employees, the second, their email addresses, and the third, their home addresses. Then we created an }{\f0\fs24\cf17 array}{\f0\fs24 of three }{\f0\fs24\cf17 elements}{\f0\fs24 . Each }{\f0\fs24\cf17 element}{
\f0\fs24 contained one of the previously defined }{\f0\fs24\cf17 arrays}{\f0\fs24 (0 = phone numbers, 1 = email addresses, and 2 = home addresses). Finally, we outputted some values by sele
cting the type of information (phone, email, or addresses) by the numerical }{\f0\fs24\cf17 index}{\f0\fs24 , and then the value by the associative }{\f0\fs24\cf17 index}{\f0\fs24 .
\par }\pard \s16\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f0\fs24
\par }\pard \s16\qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f0\fs24 Look through this example a couple of times if you don\rquote t understand it and try changing some of the values to see what you get
. This should help you to understand the relationship between the }{\f0\fs24\cf17 arrays}{\f0\fs24 . It\rquote s true to say that }{\f0\fs24\cf17 multidimensional arrays}{\f0\fs24 are not as common as }{\f0\fs24\cf17 single dimensional arrays}{\f0\fs24
, but when you need them nothing else will do (although classes can sometimes be used instead, but that\rquote s another story).
\par \page }{\b\f0\fs28 Useful Operations
\par }{\f0\fs24 Well, that\rquote s it really. You now know all you need to know to create and access your }{\f0\fs24\cf17 arrays}{\f0\fs24 . This section just includes some useful example operations that are typical when working with arrays.
\par
\par }\pard \s16\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\f0\fs24 Printing out the contents of an }{\f0\fs24\cf17 array}{\f0\fs24 (}{\f0\fs24\cf9 implode}{\f0\fs24 ):
\par }{\b\fs20\cf9
\par }{\fs20\cf6 $csv}{\fs20\cf9 }{\fs20\cf15 =}{\fs20\cf9 array}{\fs20\cf15 (}{\fs20\cf10 "London"}{\fs20\cf15 ,}{\fs20\cf9
\par }{\fs20\cf6 }{\fs20\cf10 "Birmingham"}{\fs20\cf15 ,}{\fs20\cf9
\par }{\fs20\cf10 "Manchester"}{\fs20\cf15 ,}{\fs20\cf9
\par }{\fs20\cf10 "York"}{\fs20\cf15 );}{\b\fs20\cf9
\par print}{\fs20\cf9 implode}{\fs20\cf15 (}{\fs20\cf10 ""}{\fs20\cf15 ,}{\fs20\cf9 }{\fs20\cf6 $csv}{\fs20\cf15 );}{\fs20\cf9
\par }{\b\fs20\cf9 ?>
\par }{\b\cf9
\par }{\f0\fs24 Displaying comma delimited lists from an }{\f0\fs24\cf17 array}{\f0\fs24 (}{\f0\fs24\cf9 implode & substr}{\f0\fs24 ):
\par }{\b\fs20\cf9
\par }{\fs20\cf9 }{\fs20\cf6 $csv}{\fs20\cf9 }{\fs20\cf15 =}{\fs20\cf9 array}{\fs20\cf15 (}{\fs20\cf10 "London"}{\fs20\cf15 ,}{\fs20\cf9 }{\fs20\cf10 "Birmingham"}{\fs20\cf15 ,}{\fs20\cf9 }{\fs20\cf10 "Manchester"}{\fs20\cf15 ,}{\fs20\cf9 }{\fs20\cf10
"York"}{\fs20\cf15 );}{\fs20\cf9
\par }{\b\fs20\cf9 print}{\fs20\cf9 substr}{\fs20\cf15 (}{\fs20\cf9 implode}{\fs20\cf15 (}{\fs20\cf10 ', '}{\fs20\cf15 ,}{\fs20\cf9 }{\fs20\cf6 $csv}{\fs20\cf15 ),}{\fs20\cf9 }{\fs20\cf12 0}{\fs20\cf15 );}{\fs20\cf9
\par }{\b\fs20\cf9 ?>}{\b\cf9\lang1033\langfe1033\langnp1033
\par }\pard\plain \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b\f1\fs22\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Reducing the size of an }{\cf17\lang1033\langfe1033\langnp1033 array}{\b\lang1033\langfe1033\langnp1033 , }{\lang1033\langfe1033\langnp1033 in this case to 4 elements. (}{\cf9\lang1033\langfe1033\langnp1033 array_splice}{
\lang1033\langfe1033\langnp1033 )}{\b\lang1033\langfe1033\langnp1033 :
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 7}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 8}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 9}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_splice}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }
{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\b\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\b\f1\fs22\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Working with each element of an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 (}{\cf9\lang1033\langfe1033\langnp1033 array_walk}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par function}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\lang1033\langfe1033\langnp1033 add_10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (&}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 $element}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
)
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \{
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // displays 11, 12, 13...20 on new lines}{\i\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $result}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $element}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 +}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $result}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
"
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}
\par
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 7}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 8}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 9}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // the second parameter must be user function name
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_walk(}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
'add_10'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\b\f2\fs20\lang1033\langfe1033\langnp1033
\par }{\fs20\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Extracting only unique elements from an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 (}{\cf9\lang1033\langfe1033\langnp1033 array_unique}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $unique}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 = array_unique}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\fs28\lang1033\langfe1033\langnp1033 \page
\par }{\lang1033\langfe1033\langnp1033 Returning the index and value of each element in an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 (}{\cf9\lang1033\langfe1033\langnp1033 list & each}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // This method works equally well with numerically indexed
\par // arrays and associative arrays.
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 while}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $key}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 , }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $value}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 each }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ))\{}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "key = "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
$key}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 ", value = "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $value}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }\pard \ql \li0\ri0\nowidctlpar\tx1380\faauto\rin0\lin0\itap0 {\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}\tab }{\b\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\fs20\lang1033\langfe1033\langnp1033
\par }{\fs28\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Displaying the difference between two arrays (}{\cf9\lang1033\langfe1033\langnp1033 array_diff}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // prints values found in the array specified
\par // in the first arg and not found in the array
\par // specified in the second argument.}{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list1}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list2}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $diff}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_diff}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}
{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 implode}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ''}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $diff}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par
\par }{\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // Note: multiple arrays can be specified in the array_diff()
\par // to allow for comparison against more than one array. I.e.
\par // array_diff($list1, $list2, $list3, $list4)
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\fs20\lang1033\langfe1033\langnp1033
\par }{\fs28\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Appending one }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 to another (}{\cf9\lang1033\langfe1033\langnp1033 array_merge}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list1}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list2}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 7}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 8}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 9}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 10}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $numset}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 = }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_merge}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 , }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033
\par }{\fs28\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Processing multiple elements of an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 at one time (}{\cf9\lang1033\langfe1033\langnp1033 array_slice}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // This script will process an array and place elements 0-4
\par // (Mon-Fri) in an array called \lquote workdays\rquote , and elements 6 & 7
\par // in an array called \lquote weekend\rquote . Note: the start element is the
\par // second argument and the number of elements to read ahead
\par // (including the start element) is the third argument. }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par $week }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
"Monday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Tuesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Wednesday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Thursday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Friday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Saturday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Sunday"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par $workdays }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_slice}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par $weekend }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array_slice}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $week}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 6}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\fs20\lang1033\langfe1033\langnp1033
\par }{\fs28\lang1033\langfe1033\langnp1033
\par
\par }{\lang1033\langfe1033\langnp1033 Reversing the elements of an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 (}{\cf9\lang1033\langfe1033\langnp1033 array_reverse}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // Note on efficiency: This method is fine for small arrays
\par // If you wish to reverse a large array it is quicker to use a
\par // for-loop (shown below in method 2).
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 3}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // Method 1:
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Method 1:
"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $reversed}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
array_reverse}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 implode}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 ', '}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033
,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $reversed}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ).}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // Method 2:
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 echo}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Method 2 (better for large arrays):
"}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 for}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $i }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 count}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 -}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $i}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 >=}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $i}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 --) \{}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $i}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ].}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 ", "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par }{\fs20\lang1033\langfe1033\langnp1033
\par }{\lang1033\langfe1033\langnp1033 Sort multidimensional arrays using a user-defined sort (}{\cf9\lang1033\langfe1033\langnp1033 usort}{\lang1033\langfe1033\langnp1033 ):
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\i\f2\fs20\cf11\lang1033\langfe1033\langnp1033 // This script will sort these ski resorts in to a
\par // favourites list, starting with the highest rated
\par // ones first.
\par // At the time of writing the latest version of php is
\par // version 4.1.2. This is the only way to sort nested
\par // arrays presently.
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 function}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 Hi2Lo}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $a}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}
{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $b}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )\{}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 if}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $a}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ] ==}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $b}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]) }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 return}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 return}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $b}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 >}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $a}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ]}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ) }{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ?}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 :}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 -}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $favResort}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 = array }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Aspen"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 5}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ),}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Kitzbuehel"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ),}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Igls"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ),}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Vail"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 4}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ),
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 array}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "Kicking Horse Mountain"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 2}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ));}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par
\par usort}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $favResort}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033
'Hi2Lo'}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 foreach}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $favResort}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
as }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $resort}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \{}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $resort}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 0}{
\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ].}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 " rated at "}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 .}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $resort}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 [
}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ].}{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 " stars"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print }{\f2\fs20\cf10\lang1033\langfe1033\langnp1033 "
"}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ;}{\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 \}
\par }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>
\par
\par }{\lang1033\langfe1033\langnp1033 Create an }{\cf17\lang1033\langfe1033\langnp1033 array}{\lang1033\langfe1033\langnp1033 of random numbers between }{\i\lang1033\langfe1033\langnp1033 n}{\i\lang1033\langfe1033\super\langnp1033 low}{
\lang1033\langfe1033\langnp1033 and }{\i\lang1033\langfe1033\langnp1033 n}{\i\lang1033\langfe1033\super\langnp1033 hi}{\lang1033\langfe1033\langnp1033 (}{\cf9\lang1033\langfe1033\langnp1033 shuffle}{\lang1033\langfe1033\langnp1033 ):
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 srand}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ((}{\f2\fs20\lang1033\langfe1033\langnp1033 double}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 )}{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 microtime}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ()*}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1000000}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 =}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf9\lang1033\langfe1033\langnp1033 range}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf12\lang1033\langfe1033\langnp1033 1}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{
\f2\fs20\cf12\lang1033\langfe1033\langnp1033 20}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 shuffle}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\f2\fs20\lang1033\langfe1033\langnp1033 }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 print}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf9\lang1033\langfe1033\langnp1033 implode}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 (}{
\f2\fs20\cf10\lang1033\langfe1033\langnp1033 ', '}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 ,}{\f2\fs20\lang1033\langfe1033\langnp1033 }{\f2\fs20\cf6\lang1033\langfe1033\langnp1033 $list}{\f2\fs20\cf15\lang1033\langfe1033\langnp1033 );
\par }{\b\f2\fs20\cf9\lang1033\langfe1033\langnp1033 ?>}{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033 \page }{\b\fs32\lang1033\langfe1033\langnp1033 The final word
\par }\pard \qj \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033
I hope this brief tutorial on arrays in the PHP environment proves to be useful to you. Should you have any questions regarding any of the samples provided in this tutorial then you can usually find me at the following forum }{\field{\*\fldinst {
\lang1033\langfe1033\langnp1033 HYPERLINK "http://www.htmlforums.com" }{\lang1033\langfe1033\langnp1033 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001a00000068007400740070003a002f002f007700770077002e00680074006d006c0066006f00720075006d0073002e0063006f006d000000e0c9ea79f9bace118c8200aa004ba90b3600000068007400740070003a002f002f007700770077002e0068007400
6d006c0066006f00720075006d0073002e0063006f006d002f00000000}}}{\fldrslt {\cs18\ul\cf2\lang1033\langfe1033\langnp1033 http://www.htmlforums.com}}}{\lang1033\langfe1033\langnp1033 . Post a message and either myself or another PHP helper will respond.
\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1033\langnp1033
\par Good Luck.
\par }{\b\f2\fs22\cf9\lang1033\langfe1033\langnp1033 \page }{\b\fs32\lang1033\langfe1033\langnp1033 Glossary of Terms:
\par
\par }{\cf17\lang1033\langfe1033\langnp1033 Associative Arrays
\par }{\lang1033\langfe1033\langnp1033 An array whose elements consist of a both a key and a corresponding value. The key is used to reference (index) the value stored in its element.
\par
\par }{\cf17\lang1033\langfe1033\langnp1033 Array
\par }{\lang1033\langfe1033\langnp1033 A special variable where the content comprises of \'93other\'94 variables. These \'93other\'94 variables are uniquely identifiable through indexing.
\par }{\cf17\lang1033\langfe1033\langnp1033
\par Element
\par }{\lang1033\langfe1033\langnp1033 A variable contained within an array, i.e. its key or index and corresponding value
\par }{\cf17\lang1033\langfe1033\langnp1033
\par Index
\par }{\lang1033\langfe1033\langnp1033 The means of referencing a single element within an array. Indexes are usually numerical and refer to the offset of the element in the array.
\par }{\cf17\lang1033\langfe1033\langnp1033
\par Key
\par }{\lang1033\langfe1033\langnp1033 A string reference to an element within an array. Referencing is conducted in the same manner as indexing with the proviso that element\rquote s offset is not required as the element is identified through its string name.
\par }{\cf17\lang1033\langfe1033\langnp1033
\par Multidimensional Arrays
\par }{\lang1033\langfe1033\langnp1033 An array that contains other arrays.
\par }{\cf17\lang1033\langfe1033\langnp1033
\par Single Dimensional Arrays
\par }{\lang1033\langfe1033\langnp1033 See array.
\par }{\b\lang1033\langfe1033\langnp1033
\par }}