PHP使用什么类型的数组?

sam*_*sam 10 php arrays

我可以array像这样在PHP中定义一个:

$array = array();
Run Code Online (Sandbox Code Playgroud)

在C++中,我们有两种数组.

  1. 第一种是固定大小的数组,例如:

    int arr[4]; // 4 ints, hardcoded size
    
    Run Code Online (Sandbox Code Playgroud)
  2. 第二种是动态大小的数组

    std::vector<int> v; // can grow and shrink at runtime
    
    Run Code Online (Sandbox Code Playgroud)

PHP使用什么类型的数组?PHP中是两种数组吗?如果是的话,你能给我举个例子吗?

dim*_*cas 15

PHP不像C或C++那么严格.在PHP中,您不需要指定要放在数组中的数据类型,也不需要指定数组大小.

如果需要在C++中声明一个整数数组,可以这样做:

int array[6];

此数组现在绑定为仅包含整数.在PHP中,数组可以包含几乎所有内容:

$arr = array();
$arr[] = 1;
$arr[] = 2;
$arr[] = 3;
$arr[] = 4;
var_dump($arr);   //Prints [1,2,3,4]
$arr[] = 'hello world';   //Adding a string. Completely valid code
$arr[] = 3.14;   //Adding a float. This one is valid too
$arr[] = array(
           'id' => 128,
           'firstName' => 'John'
           'lastName' => 'Doe'
);  //Adding an associative array, also valid code
var_dump($arr);  //prints [1,2,3,4,'hello world',3.14, [ id => 128, firstName => 'John', lastName => 'Doe']]
Run Code Online (Sandbox Code Playgroud)

如果您来自C++背景,最好将PHP数组视为可以存储所有内容的通用向量.


Dal*_*ale 12

来自php.net

PHP中的数组实际上是一个有序映射.映射是将值与键关联的类型.此类型针对多种不同用途进行了优化; 它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多.由于数组值可以是其他数组,因此树和多维数组也是可能的.