小编典典

返回关联 PHP 数组的前 n 个值?

php

我有一个 PHP 数组,排序后看起来像:

Array ( [542] => 30 [588] => 29.77 [409] => 19.9 [237] => 19.47 [457] => 17.73 [410] => 15.86);

实际的数组很长。最初,键是按顺序设置的,如 0、1、2……然后我对数组进行了排序,现在数组看起来像上面的数组。当我尝试使用 echo 打印此排序数组的第一个元素时$engagement[0],我没有得到值 30。要获得 30,我必须使用$engagement[542]. 但我无法知道这个排序数组中的第一个键可能是什么。如何打印此排序数组的前 n 个键和值对?

如果我需要更清楚地解释我的解释,请告诉我。:)


阅读 108

收藏
2022-07-25

共1个答案

小编典典

您需要使用array_slice()for 以固定长度对数组进行切片,然后使用array_keys.

$length = 50;
$start = 0;
$new_arr = array_slice($engagement, $start, $length);
$keys = array_keys($new_arr);
foreach($keys as $key){
    echo $new_arr[$keys[$key]];
}

没有array_keys

foreach($new_arr as $key => $value){
    echo $key." => ".$value;
}

true不使用的时候记得使用array_keyslike:

$new_arr = array_slice($engagement, $start, $length, true);

更多关于:array_slice

如果您不使用 true 切片数组索引将被重置并且您会丢失键。

更新:

由于您只要求数组键,默认情况下 array_slice 会重置数组键,如果要保留,则需要使用 true 作为 array_slice 的第四个参数。

$new_arr = array_slice($engagement, $start, $length, true);
$keys = array_keys($new_arr); // here is the list of the keys
2022-07-25