带有编号索引和命名索引的PHP数组


PHP array with both a numbered index and named index?

我认为这将更容易找到,但我一直在搜索谷歌没有运气。你能创建一个同时带有编号和命名索引的数组吗?我知道它必须是可能的,因为mysqli_fetch_array返回一个,但我找不到任何引用它。谢谢。

根据官方文档:

PHP中的数组实际上是一个有序映射。映射是一种将值与键相关联的类型。

键可以是整数也可以是字符串。可为任意类型

Nothing to it:

$x = array();
$x['foo'] = 'bar';
$x[1] = 'baz';

使用任何你想要的键。只要你为键使用的是int或有效字符串,它就可以是键

是。PHP数组可以有混合键(字符串和整数)。可以在这里的文档中找到它的参考:http://php.net/manual/en/language.types.array.php.

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

检查例#3:

<?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)
}