ELI5:此代码令人困惑

时间:2018-07-02 15:56:35

标签: php

$lastEl = array_values(array_slice($array, -1))[0];

因此,我了解array_valuesarray_slice,但不确定到底指示器对它做了什么。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

如果您将其分解...

$lastEl = array_values(array_slice($array, -1))[0];

首先...

array_slice($array, -1)

这是从数组末尾开始以-1表示的数组的一部分,因此这将获取最后一个元素并返回一个数组。

array_values(array_slice($array, -1))

这将从返回的数组中返回值-再次作为数组。

[0]

采用结果数组的第一个元素,到目前为止,结果是一个包含1个元素的数组(最后一个),它将结果从数组转换为该数组的最后一个元素的值。

举个例子...

$array = [1,2,3,4,5];
$lastEl = array_values(array_slice($array, -1))[0];
var_dump($lastEl);

将输出

/home/nigel/workspace2/Test/t2.php:8:
int(5)