Home  >  Article  >  Backend Development  >  Some tips on using associative arrays in PHP_PHP tutorial

Some tips on using associative arrays in PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:08612browse

In the process of developing with PHP, sooner or later, you will need to create many similar variables. At this time, you can store data as elements in an array. The elements in the array have their own IDs so they can be accessed easily.

Associative array

Associative array, each ID key is associated with a value. Using numeric arrays is not the best practice when storing data about specifically named values. With associative arrays, we can use values ​​as keys and assign values ​​to them.

Here are 10 techniques for operating PHP associative arrays. Proficient use can help you improve development efficiency.

1. Add array elements

PHP is a weakly typed language, which means that you do not need to explicitly declare an array and its size. Instead, you can declare and fill the array at the same time.

$capitals = array(  
  'Alabama' => 'Montgomery',  
  'Alaska'  => 'Juneau',  
  'Arizona' => 'Phoenix'  
); 

Additional array elements can be appended as follows:

$capitals['Arkansas'] = 'Little Rock'; 

If you are working with numerically indexed arrays, you may want to use explicitly named functions to prepend and append elements, such as the array_push() and array_unshift() functions, but these functions cannot operate on associative arrays.

2. Delete array elements

If you want to delete an element from the array, please use the unset() function, such as:

unset($capitals['California']); 

When using a numerical index array, there are more and more flexible ways to delete array elements. You can use the array_shift() and array_pop() functions to delete an element from the beginning and end of the array respectively.

3. Exchange keys and values

Suppose you want to create a new array called $states, using the state capital as the index and the state name as the associated value. This task is easily accomplished using the array_flip() function.

$capitals = array(  
  'Alabama' => 'Montgomery',  
  'Alaska'  => 'Juneau',  
  'Arizona' => 'Phoenix'  
);  
$states = array_flip($capitals);  
// $states = array(  
//  'Montgomery' => string 'Alabama',  
//  'Juneau'     => string 'Alaska',  
//  'Phoenix'    => string 'Arizona'  
// ); 

4. Merge arrays

Suppose the previous array is used by a web-based "FlashCard" service, and you want to provide a way to test students' knowledge of the capitals of each state in the United States. You can use the array_merge() function to merge arrays containing states and capitals.

$stateCapitals = array(  
  'Alabama' => 'Montgomery',  
  'Alaska'  => 'Juneau',  
  'Arizona' => 'Phoenix'  
);  
$countryCapitals = array (  
  'Australia' => 'Canberra',  
  'Austria'   => 'Vienna',  
  'Algeria'   => 'Algiers'  
);  
$capitals = array_merge($stateCapitals, $countryCapitals); 

5. Edit array value

Suppose the data in the array contains case errors and you want to correct these errors before inserting into the database, you can use the array_map() function to apply a callback to each array element.

function capitalize($element)  
{  
  $element = strtolower($element);  
  return ucwords($element);  
}  
$capitals = array(  
  'Alabama' => 'montGoMEry',  
  'Alaska'  => 'Juneau',  
  'Arizona' => 'phoeniX'  
);  
$capitals = array_map("capitalize", $capitals); 

6. Sort the array by pressing keys

FlashCard programs often use various sorting, such as alphabetical sorting. You can use the ksort() function to sort associative arrays by key.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
ksort($capitals); 

Because the array is passed to the ksort() function as a parameter, it means you no longer need to assign the sorted result to another variable.

7. Random array sorting

There is another random sorting technology involved in the FlashCard program. At this time, you need to use the shuffle() function to implement random sorting of array items.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
shuffle($capitals); 

If you don’t need to disrupt the order of the array and you just want to randomly select a value, then use the array_rand() function.

8. Determine whether the key and value exist

You can use the in_array() function to determine whether an array element exists.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
if (in_array("Juneau", $capitals))  
{  
  echo "Exists!";  
} else {  
  echo "Does not exist!";  
} 

Few people know that this function can also determine whether an array key exists. At this point, it has the same function as the array_key_exists() function.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
if (array_key_exists("Alaska", $capitals))  
{  
  echo "Key exists!";  
} else {  
  echo "Key does not exist!";  
} 

9. Search array

You may want to search array resources so that users can easily retrieve associated states with a specific state. You can implement array searches through the array_search() function.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
$state = array_search('Juneau', $capitals);  
// $state = 'Alaska' 

10. Standard PHP library

The Standard PHP Library (SPL) provides developers with many data structures, iterators, interfaces, exceptions and other functions that were not previously available in the PHP language. These functions can be used to traverse arrays through object-oriented syntax.

$capitals = array(  
  'Arizona' => 'Phoenix',  
  'Alaska'  => 'Juneau',  
  'Alabama' => 'Montgomery'  
);  
$arrayObject = new ArrayObject($capitals);  
foreach ($arrayObject as $state => $capital)  
{  
  printf("The capital of %s is %s<br />", $state, $capital);  
}  
// The capital of Arizona is Phoenix  
// The capital of Alaska is Juneau  
// The capital of Alabama is Montgomery 

This is just one of the many great features of SPL, be sure to read the PHP documentation for more information.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752336.htmlTechArticleIn the process of developing with PHP, sooner or later, you will need to create many similar variables. Sometimes you can store data as elements in an array. The elements in the array have...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn