value,...)", where the parameter key can be an integer or a string, and the parameter value can be any type of value."/> value,...)", where the parameter key can be an integer or a string, and the parameter value can be any type of value.">

Home >Backend Development >PHP Problem >How to write php array

How to write php array

藏色散人
藏色散人Original
2020-11-18 09:14:592247browse

The writing method of php array is "array(key=>value,...)", where the parameter key can be an integer or a string, and the parameter value can be any type of value.

How to write php array

The operating environment of this tutorial: windows10 system, php5.4. This article is applicable to all brands of computers.

Recommended: "PHP Video Tutorial"

Array array

The 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. Since the value of an array element can also be another array, tree structures and multidimensional arrays are also allowed.

Explaining these structures is beyond the scope of this manual, but at least one example will be provided for each structure. For more information on these structures, it is recommended to consult other works on this broad topic.

Syntax

Define array array()

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

array(  key =>  value
     , ...
     )
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值

The comma after the last array element can be omitted. Usually used in single-line array definitions, such as array(1, 2) instead of array(1, 2, ). It is common to leave the last comma in multi-line array definitions to make it easier to add a new cell.

Since 5.4, you can use short array definition syntax, using [] instead of array().

Example #1 A simple array

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);
// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

key can be integer or string. value can be of any type.

In addition, key will have the following forced conversion:

Strings containing legal integer values ​​will be converted to integers. For example, the key name "8" will actually be stored as 8. But "08" will not be cast because it is not a legal decimal value.

Floating point numbers will also be converted to integers, which means their decimal parts will be rounded off. For example, the key name 8.7 will actually be stored as 8.

Boolean values ​​will also be converted to integers. That is, the key name true will actually be stored as 1 and the key name false will be stored as 0.

Null will be converted to an empty string, that is, the key name null will actually be stored as "".

Arrays and objects cannot be used as key names. Insisting on doing this will result in a warning: Illegal offset type.

If multiple units use the same key name in the array definition, only the last one will be used, and the previous ones will be overwritten.

Example #2 Type forcing and overwriting example

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>
以上例程会输出:
array(1) {
  [1]=>
  string(1) "d"
}

In the above example, all key names are forced to 1, then each new unit will overwrite the previous value, and finally the remaining There is only one "d".

PHP arrays can contain both integer and string type key names, because PHP does not actually distinguish between index arrays and associative arrays.

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 that value plus one. If the specified key name already has a value, the value will be overwritten.

Example #3 Mixing integer and string key names

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>
以上例程会输出:
array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

key is optional. If not specified, PHP will automatically use the largest previously used integer key plus 1 as the new key.

Example #4 Index array without key name

<?php
$array = array("foo", "bar", "hallo", "world");
var_dump($array);
?>
以上例程会输出:
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hallo"
  [3]=>
  string(5) "world"
}

You can also specify key names only for some cells and leave others blank:

Example #5 Only for parts The unit specifies the key name

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>
以上例程会输出:
array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

You can see that the last value "d" is automatically assigned the key name 7. This is because the previous largest integer key was 6.

The above is the detailed content of How to write php array. For more information, please follow other related articles on the PHP Chinese website!

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