Title: ARRAYS
1PHP Array
ARRAYS
?. ??????? ???????? http//www.siam2dev.com ?.
????????????
2???????? (Array)
- ??????????????????????????????????????????????
dynamic array ???? vector(???????????????????????)
- myarray3
- myarray1.1
- myarray"abc"
- ???????????????????? ?????????????????????????????
????????????? - ?????????????????????????????????
?????????????????????????? ????
???????????????????? ?????????
3arr4-1.php3
- lt?
- myarray0 1
- echo "number of elements ".count(myarray)."
ltBRgt\n" - myarray1 "abc"
- echo "number of elements ".count(myarray)."
ltBRgt\n" - myarray2 1.3
- echo "number of elements ".count(myarray)."
ltBRgt\n" - myarray 1310 // the same as
myarray3 1310 - echo "number of elements ".count(myarray)."
ltBRgt\n" - for (i0 i lt 4 i)
- echo myarrayi," \n"
-
- ?gt
4??????????????????????????????????????????????
- ??????????????????????????????????????????????????
?????????????????? - ???????????????? ????????????????? ????????????
(Run time) - ?????? ???????????????????????????????????????????
?array() ???? - lt?
- arr_11 2000 //arr_1????????????????????
? - arrr_211 4000 //arr_2?????????????????
?? - arr_3111 4000 //arr_3???????????????
???? - ?gt
5??????????????????????????????????????????????????
??????????
- ????????
- arr_1 array() //???????? arr_1
???????????????? - arr_11 72 //arr_1 ?????????????????????
6????????????????????????????????? Array
- ???????? array() ???????????????????
??????????????????????????????????
??????????????????????????????????????????????????
????????????????? ???????? array()
???????????????????????????????????? ???????????
comma (,)
7??????????????????????????????????????????????????
? array()
- ?????????????? array ( ??????1,??????2,??????3,
..) - ????????
- arrarrray(10,20,30.30,"PHP","PROGRMMING")
- for(r0 r lt count(arr) r)
- echo (" index r arr rltbrgt")
-
8??????????????,???????? ,????????????????????????
??????
- ??????????????????????????????????????????????????
??????????????????????????????????????????????????
?????????????????????????? - ??????????????????????????????????????????????????
????????????????????? - arr"php"
- arr10.50
9- ltHTMLgt
- ltHEADgt
- ltTITLEgtFigure 5-2lt/TITLEgt
- lt/HEADgt
- lt?
- Cities "San Francisco"
- Cities "Los Angeles"
- Cities "New York"
- Cities "Martinez"
- /
- count number of elements
- /
- indexLimit count(Cities)
- /
- print out every element
- /
-
10- for(index0 index lt indexLimit index)
-
- print("City index is Citiesindex.
ltBRgt\n") -
- ?gt
- lt/BODYgt
- lt/HTMLgt
City 0 is San Francisco. City 1 is Los Angeles.
City 2 is New York. City 3 is Martinez.
115-3.php3
- ltHTMLgt
- ltHEADgt ltTITLEgtFigure 5-3lt/TITLEgt
- lt/HEADgt
- lt?
- /
- fill in some information
- /
- UserInfo"Name" "Leon Atkinson"
- UserInfo"Location" "Martinez, California"
- UserInfo"Occupation" "Web Engineer"
12- for(reset(UserInfo)
- key key(UserInfo)
- next(UserInfo))
-
- value pos(UserInfo)
- print("key is value.ltBRgt\n")
-
- ?gt
- lt/BODYgt
- lt/HTMLgt
13?????????????????????? (Multidimensional Array)
- ????????????????????????????????? ....
???????????????????????? .. .. ..
????????????????????? - arr_211 4000 //arr_2????????????????
??? - arr_3111 2000 //arr_3?????????????
??????
14?????????????????????? (Multidimensional Array)
???
- dim 3
- for (row0 row lt dim row)
- for (column0 column lt dim column)
- myarray2rowcolumn 4row column
- echo myarray2rowcolumn," "
-
- echo "ltBRgt\n"
-
15- ltHTMLgt
- ltHEADgt
- ltTITLEgtFigure 5-4lt/TITLEgt
- lt/HEADgt
- lt?
- monthName array(1gt"January", "February",
"March", - "April", "May", "June", "July", "August",
- "September", "October", "November",
"December") - print("Month 5 is monthName5 ltBRgt\n")
- ?gt
- lt/BODYgt
- lt/HTMLgt
16???????????????????? (associative array)
- ??????????????????????????????????????????????????
??????????? - ????? lookup table
- ???? ????????? "red" ????????? 0xff0000 "green"
????????? 0x00ff00 ??? "blue" ????????? 0x0000ff
???????????????????????? color_table
17???????????????????? (???)
- color_table"red" 0xff0000
- color_table"green" 0x00ff00
- color_table"blue" 0x0000ff
- color_name "red"
- echo "value ".color_table color_name."ltBRgt\
n" -
18???????????????????? (???)
- ???????????????????????????????????????? array ()
- ?????????????????????????????????????????????????
array () ?????? - color_table array(
- "red" gt 0xff0000,
- "green" gt 0x00ff00,
- "blue" gt 0x0000ff
- )
- ????????????????????????????????????
19- ????????????????????????????????????????????????
???? - lt?
- countries array (
- "thailand" gt array ( "zone" gt "Asia",
"D_NAME" gt ".th"), - "malasia" gt array ( "zone" gt "Asia",
"D_NAME" gt ".my"), - "india" gt array ( "zone" gt "Asia",
"D_NAME" gt ".in"), - "holland" gt array ( "zone" gt "Europe",
"D_NAME" gt ".nl"), - "france" gt array ( "zone" gt "Europe",
"D_NAME" gt ".fr") - )
- echo "domain name".countries
"thailand""D_NAME"."ltBRgt\n" - ?gt
20???????????? each ??? list ???????????????????????
???
- ??????????????????????????????????????????????????
?????????????????????? ?????????????????????????
??????? each() ??? list()
21???????????? each ??? list ???????????????????????
???(???)
- unset(a)
- a array( "a" gt 10, "b" gt 20, "c" gt 30 )
- while (list(key, value) each(a))
- echo "keyvalue ltBRgt\n"
-
- ???????????? a10 ,b20 ,c30
22- lt?
- // The require function loads and executes the
- // specified file. In this case, the dump_array
- // function is defined.
- require('common.inc')
- // Define some scalar variables.
- int_number_of_books 20
- str_book_title 'Of Mice and Men'
- // Define a complex array.
- arr_books array(
- 'number_of_books' gt int_number_of_books
- ,'lst_books' gt array(
- 'one' gt array(
- 'name' gt 'Of Mice and
Men' - )
-
23- ,'two' gt array(
- 'name' gt 'Moby Dick'
- )
- )
- )
- echo "ltPgtExamples Using Scalar Variableslt/Pgt"
- echo "ltULgt"
- echo 'ltPgt"There are int_number_of_books
books." ' - echo "ltBgtThere are int_number_of_books
books.lt/Bgtlt/Pgt" - echo 'ltPgt"The first book is \"str_book_title\".
" ' - echo "ltBgtThe first book is \"str_book_title\".lt
/Bgtlt/Pgt" - echo "lt/ULgt"
24- echo "ltPgtExamples Using Array Variableslt/Pgt"
- echo "ltULgt"
- // Show the array to demonstrate its
complexity. - dump_array(arr_books)
- // There are several ways to specify array keys
- str_key 'number_of_books'
- echo "ltPgtUsing a variable as the array
keyltBRgt" - echo 'ltULgt"There are arr_booksstr_key
books." ' - echo "ltBgtThere are arr_booksstr_key
books.lt/Bgtlt/ULgt" - echo "ltPgtUsing a bare word as the array
keyltBRgt" - echo 'ltULgt"There are arr_booksnumber_of_books
books." ' - echo "ltBgtThere are arr_booksnumber_of_books
books.lt/Bgtlt/ULgt" - echo "lt/ULgt"
- ?gt
25??????????????????????????????????
- ???????? array
- ??????????????? array array( )
- ??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????? - test1array() //??????????????????????? test1
26??????????????????????????????????
- ???????? array_walk
- ??????????????? int array_walk(array arr,string
func) - ??????????????????????????????????????????????????
????????????????????????????????????????????? - 1. ?????????????????????????????????????????????
?????????? - 2. ?????????????????????????????????????????????
??????????
27??????????????????????????????????
- ???????? count
- ??????????????? void count (array arr)
- ??????????????????????????????????????????????????
??????????????????????????????????????????????????
?
28??????????????????????????????????
- ???????? current
- ??????????????? mixed current(array arr)
- ??????????????????????????????????????????????
?????????(pointer)???????(????????????????????????
???????? pointer ?????????????????????????????????
??????)
29??????????????????????????????????
- sortarray(50,40,30,20)
- echo current(sort),"brgt" //??????? 50
- next(sort) //?????? pointer ???????????????????
- echo current(sort) //??????? 40
30??????????????????????????????????
- ???????? each
- ??????????????? array each (array arr)
- ??????????????????????????????????????????????????
???? ????????????? pointer ???????????????????????
???????????????????????????? ?????????????????????
?????????????????????????????
31??????????????????????????????????
- sort array(5,40,30,20)
- get each(sort) /????? sort
???????????????????? pointer ?????????????????????
? get ??????????????????????????????????????? / - echo get0 gt get1 ltbrgt
- echo getkey gt getvalue
32??????????????????????????????????
- ???????? end
- ??????????????? void end (array arr)
- ?????????????????????? pointer ???????????????????
??????????????????????????????????????????????????
???????????????????????
33??????????????????????????????????
- sort array ( 50, 40, 30, 20 )
- echo current(sort).ltbrgt// ??????? 50
- end(sort) // ?????? pointer
????????????????????? - echo current(sort) // ??????? 20
34??????????????????????????????????
- ???????? key
- ??????????????????????? mixed key (array arr)
- ??????????????????????????????????????????????????
??? pointer ?????????????????????????????????????
?????????????????????
35??????????????????????????????????
- sort array (startgt50,40,30,stopgt20)
- echo key(sort).ltbrgt //
??????????????????????? pointer ??????? - end(sort) // ?????? pointer
??????????????????? - echo key(sort) // ???????????????????????
pointer ???????
36??????????????????????????????????
- ???????? list
- ??????????????? void list (var1,var2,)
- ??????????????????????????????????????????????????
??????????????????? (var1,var2,)
??????????????????????????????????????????????????
??????????????????????????????????????????????????
?
37??????????????????????????????????
- arr array(Agt10,Bgt20,Cgt30)
- while (list(key,data)each(arr))
- echo key gtdataltbrgt
-
38??????????????????????????????????
- ???????? next
- ??????????????? mixed next(array arr)
- ?????????????????????? pointer ???????????????????
???????????????????????????????
39??????????????????????????????????
- sort array(50,40,30,20)
- echo current(sort).ltbrgt //
????????????????????? - next(sort) // ?????? pointer
??????????????????? - echo current(sort) // ?????????????????????????
? pointer
40??????????????????????????????????
- ???????? prev
- ??????????????? mixed prev (array arr)
- ?????????????????????? pointer ???????????????????
?????????????????????????? pointer
???????????????????????????
41??????????????????????????????????
- sort array(50,40,30,20)
- echo current(sort).ltbrgt //
????????????????????? - next(sort) // ?????? pointer
??????????????????????????? - echo current(sort).ltbrgt //
?????????????????????????? pointer - prev(sort) // ?????? pointer
???????????????????????????????? - echo current(sort) // ?????????????????????????
? pointer
42??????????????????????????????????
- ???????? reset
- ??????????????? void reset (array arr)
- ???????????????????????????????? pointer
??????????????????????????????????????????????????
???????????????????? pointer ?????????????????????
????
43??????????????????????????????????
- sort array(50,40,30,20)
- echo current(sort).ltbrgt //
????????????????????? - next(sort) // ?????? pointer
??????????????????????????? - echo current(sort).ltbrgt //???????????????????
??????? pointer - next(sort) // ?????? pointer
??????????????????????????? - echo current(sort).ltbrgt //
?????????????????????????? pointer - next(sort) // ?????? pointer
??????????????????????????? - echo current(sort).ltbrgt //
?????????????????????????? pointer - reset(sort) // ??????? pointer
?????????????????????????????????? - echo current(sort) // ?????????????????????????
???? reset
44??????????????????????????????????
- ???????? sizeof
- ??????????????? int sizeof (array arr)
- ????????????????????????????????????? count
45??????????????????????????????????
- ???????? sort
- ??????????????? void sort (array,arr)
- ??????????????????????????????????????????????????
????????????????????????????????????????????????
46??????????????????????????????????
- sort array(50,40,30,20)
- sort(sort)
- for(r 0 r lt count(sort)r)
- echo sortrltbrgt
-