Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:保留数组_值的顺序_Php_Arrays - Fatal编程技术网

PHP:保留数组_值的顺序

PHP:保留数组_值的顺序,php,arrays,Php,Arrays,如果我有一个关联数组,它的结构如下 ( 1 => 'a', 2 => 'b', 0 => 'c' ) 如果所有键都是数字键,array\u values是否始终保证值在新数组中根据其以前键的值按时间顺序出现,即['c','a','b'] 如果没有,我该如何实现这一点呢?否,array\u values()不会以任何方式对值进行重新排序。它不在乎钥匙 其有效实施基本上是这样的: function array_values_impl(array $arra

如果我有一个关联数组,它的结构如下

(
    1 => 'a',
    2 => 'b',
    0 => 'c'
)
如果所有键都是数字键,
array\u values
是否始终保证值在新数组中根据其以前键的值按时间顺序出现,即
['c','a','b']

如果没有,我该如何实现这一点呢?

否,
array\u values()
不会以任何方式对值进行重新排序。它不在乎钥匙

其有效实施基本上是这样的:

function array_values_impl(array $array)
{
    $newArray = [];

    foreach ($array as $item) {
        $newArray[] = $item;
    }

    return $newArray;
}
如果要使用键对数组进行排序,请使用。

否,
array\u values()
不会以任何方式对值进行重新排序。它不在乎钥匙

其有效实施基本上是这样的:

function array_values_impl(array $array)
{
    $newArray = [];

    foreach ($array as $item) {
        $newArray[] = $item;
    }

    return $newArray;
}

如果要使用键对数组进行排序,请使用。

您可以先使用键对数组进行排序,然后使用array_values函数获取值

比如说

 $array = array(
    1 => 'a',
   2 => 'b',
   0 => 'c'
);

ksort($array);
print_r(array_values($array));
输出:

Array
(
    [0] => c
    [1] => a
    [2] => b
)

您可以通过首先使用键对数组进行排序并通过array_values函数获取值来完成

比如说

 $array = array(
    1 => 'a',
   2 => 'b',
   0 => 'c'
);

ksort($array);
print_r(array_values($array));
输出:

Array
(
    [0] => c
    [1] => a
    [2] => b
)

数字键指向索引数组,而不是associative@RomanPerekhrest不总是这样。在本例中,键是顺序的,但如果它们不是,例如1、3和5,该怎么办?数字键指向索引数组,而不是索引数组associative@RomanPerekhrest不总是这样。在本例中,键是顺序的,但如果它们不是,例如1、3和5,该怎么办?