Home  >  Article  >  Backend Development  >  Detailed explanation of data types of arrays in php_PHP tutorial

Detailed explanation of data types of arrays in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:13:37876browse

In php, arrays can store values ​​of any PHP type. If no key name is specified for the given value, the current largest integer index value will be taken, and the new key name will be the value plus one, which is PHP array

has three array types:

numeric array
Array with numeric ID keys
Associative array
Each ID key in the array is associated with a value
Multidimensional array
Array containing one or more arrays

An array in PHP is actually an ordered map. A map is a type that associates values ​​to keys. This type is optimized in many ways, so it can be treated as a real array, or list (vector), hash table (which is an implementation of map), dictionary, set, stack, queue and many more possibilities. The value of an array element can also be another array. Tree structures and multidimensional arrays are also allowed.

You can use the array() language structure to create a new array. It accepts any number of comma-separated key => value pairs.

key can be integer or string. If key is the standard representation of an integer, it is interpreted as an integer (e.g. "8" will be interpreted as 8, and "08" will be interpreted as "08"). Floating point numbers in key are rounded to integers. In PHP, indexed arrays are the same as associative arrays, they can contain both integer and string subscripts.

The value can be any PHP type.

If no key is specified for the given value, the current largest integer index value is taken, and the new key name will be that value plus one. If the specified key name already has a value, the value will be overwritten.

Using TRUE as the key name will make integer 1 the key name. Using FALSE as the key name will make integer 0 the key name. Using NULL as a key name is equivalent to using an empty string. Using an empty string as a key will create (or overwrite) a value with an empty string as the key, which is different from using empty square brackets.

Arrays and objects cannot be used as keys. Doing so will result in a warning: Illegal offset type.

Create/modify using square bracket syntax
If $arr does not exist yet, a new one will be created. This is also an alternative way to define an array. To change a value, just assign it a new value. If you want to delete a key/value pair, use unset() on it.

Note: If square brackets are given but no key name is specified, the current maximum integer index value is taken, and the new key name will be that value + 1. If there is no integer index currently, the key name will be 0. If the specified key name already has a value, the value will be overwritten.

Note that the maximum integer key name used here is not necessarily currently in the array. It just needs to have existed since the last time the array was reindexed.

Array indexes expressed as strings should always be quoted. For example, use $foo['bar'] instead of $foo[bar]. But why is $foo[bar] wrong?

The reason is that this code has an undefined constant (bar) instead of a string ('bar' - note the quotes), and PHP may define this constant later, unfortunately your code has the same name. It works because PHP automatically converts a bare string (a string without quotes and not corresponding to any known symbol) into a normal string whose value is that bare string. For example, if there is no constant defined as bar, PHP will replace it with 'bar' and use that.

Example 1
In this example, the ID key is automatically assigned:

The code is as follows Copy code
 代码如下 复制代码

$names = array("Peter","Quagmire","Joe");

$names = array("Peter","Quagmire","Joe");


Example 2 In this example, we manually assigned the ID key:
 代码如下 复制代码
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
The code is as follows Copy code
$names[0] = "Peter"; $names[1] = "Quagmire"; $names[2] = "Joe";

You can use these ID keys in scripts:

Multidimensional array
The code is as follows
 代码如下 复制代码

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>

Copy code

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>

 代码如下 复制代码
$families = array
(
  "Griffin"=>array
  (
  "Peter",
  "Lois",
  "Megan"
  ),
  "Quagmire"=>array
  (
  "Glenn"
  ),
  "Brown"=>array
  (
  "Cleveland",
  "Loretta",
  "Junior"
  )
);


Output of the above code:
Quagmire and Joe are Peter's neighbors

In a multidimensional array, each element in the main array is also an array. Each element in a subarray can also be an array, and so on.

Example 1

In this example, we create a multidimensional array with automatically assigned ID keys:
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