Chapter 7 Manipulating Arrays PHP Programming with MySQL - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Chapter 7 Manipulating Arrays PHP Programming with MySQL

Description:

array_unshift($TopGolfers, 'Tiger Woods', 'Vijay Singh'); print_r ... 'Tiger Woods', 'Tiger Woods', 'Vijay Singh' ... array('Tiger Woods', 'Vijay Singh' ... – PowerPoint PPT presentation

Number of Views:840
Avg rating:3.0/5.0
Slides: 45
Provided by: cynd6
Category:

less

Transcript and Presenter's Notes

Title: Chapter 7 Manipulating Arrays PHP Programming with MySQL


1
Chapter 7Manipulating ArraysPHP Programming
with MySQL
2
Objectives
  • Manipulate array elements
  • Declare and initialize associative arrays
  • Use iteration functions
  • Find and extract elements and values
  • Sort, combine, and compare arrays

3
addslashes() function
  • PHP automatically escapes quotes, called magic
    quotes
  • My friends name is Fred gets submitted asMy
    friend\s name is \Fred\
  • It is better to disable magic quotes
  • In php.ini, set magic_quotes_gpcfalse
  • Add escapes manually with addslashes()
  • phraseaddslashes(_GETphrase)

4
Manipulating Elements
  • Topic _POST'topic'
  • Name _POST'name'
  • Message _POST'message'
  • PostMessage addslashes(TopicNameMessage\n
    )
  • MessageStore fopen(messages.txt, a)
  • fwrite(MessageStore, PostMessage)
  • fclose(MessageStore)
  • echo Topic Topic
  • echo Name Name
  • echo Message Message

5
Manipulating Elements (continued)
  • if (!file_exists(messages.txt)
    filesize(messages.txt) 0)
  • echo There are no messages posted.
  • else
  • MessageArray file(messages.txt)
  • for (i0 i
  • CurMessage explode(, MessageArrayi)
  • echo
  • echo . (i 1) .
    .
  • echo Topic
  • . stripslashes(CurMessage0) .
  • echo Name
  • . stripslashes(CurMessage1) .
  • echo Message
  • . stripslashes(CurMessage2)
  • echo

6
Manipulating Elements (continued)
Figure 7-1 Post New Message page of the
Discussion Forum script
7
Manipulating Elements (continued)
Figure 7-2 Message Posted page of the Discussion
Forum script
8
Adding and Removing Elements from the Beginning
of an Array
  • The array_shift() function removes the first
    element from the beginning of an array
  • Pass the name of the array whose first element
    you want to remove
  • The array_unshift() function adds one or more
    elements to the beginning of an array
  • Pass the name of an array followed by
    comma-separated values for each element you want
    to add

9
Adding and Removing Elements from the Beginning
of an Array (continued)
  • TopGolfers array(
  • Ernie Els,
  • Phil Mickelson,
  • Retief Goosen,
  • Padraig Harrington,
  • David Toms,
  • Sergio Garcia,
  • Adam Scott,
  • Stewart Cink)
  • array_shift(TopGolfers)
  • array_unshift(TopGolfers, Tiger Woods, Vijay
    Singh)
  • print_r(TopGolfers)

10
Adding and Removing Elements from the Beginning
of an Array (continued)

Figure 7-3 Output of an array modified with the
array_shift() and
array_unshift() functions
11
Adding and Removing Elements from the End of an
Array
  • The array_pop() function removes the last element
    from the end of an array
  • Pass the name of the array whose last element
    you want to remove
  • The array_push() function adds one or more
    elements to the end of an array
  • Pass the name of an array followed by
    comma-separated values for each element you
    want to add

12
Adding and Removing Elements from the End of an
Array (continued)
  • HospitalDepts array(
  • Anesthesia,
  • Molecular Biology,
  • Neurology,
  • Pediatrics)
  • array_pop(HospitalDepts)
  • array_push(HospitalDepts, Psychiatry,
    Pulmonary Diseases)

13
Adding and Removing Elements Within an Array
  • The array_splice() function adds or removes array
    elements
  • The array_splice() function renumbers the indexes
    in the array
  • The syntax for the array_splice() function is
  • array_splice(array_name, start,
    characters_to_delete, values_to_insert)

14
array_splice() Function
  • To add an element within an array, include a
    value of 0 as the third argument
  • HospitalDepts array(
  • Anesthesia, // first element (0)
  • Molecular Biology, // second element (1)
  • Neurology, // third element (2)
  • Pediatrics) // fourth element (3)
  • array_splice(HospitalDepts, 3, 0,
    Ophthalmology)

15
array_splice() Function (continued)
  • To add more than one element within an array,
    pass the array() construct as the fourth argument
  • Separate the new element values by commas
  • HospitalDepts array(
  • Anesthesia, // first element (0)
  • Molecular Biology, // second element (1)
  • Neurology, // third element (2)
  • Pediatrics) // fourth element (3)
  • array_splice(HospitalDepts, 3, 0,
    array(Ophthalmology,
  • Otolaryngology))

16
array_splice() Function (continued)
  • Delete array elements by omitting the fourth
    argument from the array_splice() function
  • HospitalDepts array(
  • Anesthesia, // first element (0)
  • Molecular Biology, // second element (1)
  • Neurology, // third element (2)
  • Pediatrics) // fourth element (3)
  • array_splice(HospitalDepts, 1, 2)

17
unset() Function
  • The unset() function removes array elements and
    other variables
  • Pass to the unset() function the array name and
    index number of the element you want to remove
  • To remove multiple elements, separate each index
    name and element number with commas
  • unset(HospitalDepts1, HospitalDepts2)

18
Removing Duplicate Elements
  • The array_unique() function removes duplicate
    elements from an array
  • Pass to the array_unique() function the name of
    the array from which you want to remove duplicate
    elements
  • The array_values() and array_unique() functions
    do not operate directly on an array
  • The array_unique() function does renumber the
    indexes after removing duplicate values in an
    array

19
array_unique()Function
  • TopGolfers array(
  • Tiger Woods, Tiger Woods, Vijay Singh,
    Vijay Singh,
  • Ernie Els, Phil Mickelson, Retief Goosen,
  • Retief Goosen, Padraig Harrington, David
    Toms,
  • Sergio Garcia, Adam Scott, Stewart Cink)
  • echo The world's top golfers are
  • TopGolfers array_unique(TopGolfers)
  • TopGolfers array_values(TopGolfers)
  • for (i0 i
  • echo TopGolfersi
  • echo

20
array_unique()Function (continued)
Figure 7-4 Output of an array after removing
duplicate values with the array_unique()
function
21
Declaring and Initializing Associative Arrays
  • With associative arrays, you specify an elements
    key by using the array operator ()
  • The syntax for declaring and initializing an
    associative array is
  • array_name array(keyvalue, ...)

Figure 7-5 Output of array with associative and
indexed elements
22
Declaring and Initializing Associative Arrays
(continued)
  • Territories100 Nunavut
  • Territories Northwest Territories
  • Territories Yukon Territory
  • print_r(Territories)
  • echo 'The Territories array consists of ',
  • count(Territories), elements.

Figure 7-6 Output of an array with a starting
index of 100
23
Iterating Through an Array
  • The internal array pointer refers to the
    currently selected element in an array

Table 7-1 Array pointer iteration functions
24
Iterating Through an Array (continued)
Figure 7-7 Output of an array without advancing
the internal array pointer
25
Determining if a Value Exists
  • The in_array() function returns a Boolean value
    of true if a given value exists in an array
  • The array_search() function determines whether a
    given value exists in an array and
  • Returns the index or key of the first matching
    element if the value exists, or
  • Returns false if the value does not exist
  • if (in_array(Neurology, HospitalDepts))
  • echo The hospital has a Neurology
    department.

26
Determining if a Key Exists
  • The array_key_exists() function determines
    whether a given index or key exists
  • You pass two arguments to the array_key_exists()
    function
  • The first argument represents the key to search
    for
  • The second argument represents the name of the
    array in which to search

27
Determining if a Key Exists (continued)
  • GamePiecesDancer Daryl
  • GamePiecesFat Man Dennis
  • GamePiecesAssassin Jennifer
  • if (array_key_exists(Fat Man, GamePieces))
  • echo GamePiecesFat Man is already
  • 'Fat Man'.
  • else
  • GamePiecesFat Man Don
  • echo GamePiecesFat Man is now
  • 'Fat Man'.

28
Returning a Portion of an Array
  • The array_slice() function returns a portion of
    an array and assigns it to another array
  • The syntax for the array_slice() function is
  • array_slice(array_name, start,
    characters_to_return)

29
Returning a Portion of an Array (continued)
  • TopGolfers array(Tiger Woods, Vijay Singh,
    Ernie Els,
  • Phil Mickelson, Retief Goosen, Padraig
    Harrington, David
  • Toms, Sergio Garcia, Adam Scott, Stewart
    Cink)
  • TopFiveGolfers array_slice(TopGolfers, 0, 5)
  • echo The top five golfers in the world
    are
  • for (i0 i
  • echo TopFiveGolfersi
  • echo

30
Returning a Portion of an Array (continued)
Figure 7-8 Output of an array returned with the
array_slice() function
31
Sorting Arrays
  • The most commonly used array sorting functions
    are
  • sort() and rsort() for indexed arrays
  • ksort() and krsort() for associative arrays

32
Sorting Arrays (continued)
Table 7-2 Array sorting functions
33
Sorting Arrays (continued)
Table 7-2 Array sorting functions (continued)
34
Sorting Arrays (continued)
  • Table 7-2 Array sorting functions (continued)
  • If the sort() and rsort() functions are used on
    an associative array, the keys are replaced with
    indexes

35
Sorting Arrays (continued)
Figure 7-9 Output of an array after applying the
sort() and rsort() functions
36
Sorting Arrays (continued)
Figure 7-10 Output of an associative array after
executing the sort() function
Figure 7-11 Output of an associative array after
executing the ksort() function
37
Combining Arrays
  • To append one array to another, use the addition
    () or the compound assignment operator ()
  • To merge two or more arrays use the array_merge()
    function
  • The syntax for the array_merge() function is
  • new_array array_merge(array1, array2,
    array3, ...)

38
Combining Arrays (continued)
  • Provinces array(Newfoundland and Labrador,
    Prince Edward
  • Island, Nova Scotia, New Brunswick,
    Quebec, Ontario,
  • Manitoba, Saskatchewan, Alberta, British
    Columbia)
  • Territories array(Nunavut, Northwest
    Territories, Yukon
  • Territory)
  • Canada Provinces Territories
  • print_r(Canada)

Figure 7-12 Output of two combined indexed arrays
39
Comparing Arrays
  • The array_diff() function returns an array of
    elements that exist in one array but not in any
    other arrays to which it is compared
  • The syntax for the array_diff() function is
  • new_array array_diff(array1, array2,
    array3, ...)
  • The array_intersect() function returns an array
    of elements that exist in all of the arrays that
    are compared

40
Comparing Arrays (continued)
  • The syntax for the array_intersect() function is
  • new_array array_intersect(array1,
    array2, array3, ...)

41
Comparing Arrays (continued)
Figure 7-13 Output of an array created with the
array_intersect() function
42
Summary
  • The array_shift() function removes the first
    element from the beginning of an array
  • The array_unshift() function adds one or more
    elements to the beginning of an array
  • The array_pop() function removes the last element
    from the end of an array
  • The array_push() function adds one or more
    elements to the end of an array
  • The array_splice() function adds or removes array
    elements

43
Summary (continued)
  • The unset() function removes array elements and
    other variables
  • The array_values() function renumbers an indexed
    arrays elements
  • The array_unique() function removes duplicate
    elements from an array
  • The in_array() function returns a Boolean value
    of true if a given value exists in an array
  • The array_search() function determines whether a
    given value exists in an array

44
Summary (continued)
  • The array_key_exists() function determines
    whether a given index or key exists
  • The array_slice() function returns a portion of
    an array and assigns it to another array
  • The array_diff() function returns an array of
    elements that exist in one array but not in any
    other arrays to which it is compared
  • The array_intersect() function returns an array
    of elements that exist in all of the arrays that
    are compared
Write a Comment
User Comments (0)
About PowerShow.com