如何获取数组的结束元素

时间:2019-01-23 23:12:45

标签: php arrays

我有一个数组(如下所示)。它具有let emailTextField = UITextField() let emailValidator = EmailValidator() emailTextField.rx.text .orEmpty .map(emailValidator.validate) .subscribe(onNext: { isValid in print(isValid) }) .disposed(by: disposeBag) a,它们每个内部都有数字。但是,当我使用b函数时,它将得到end()的数组。我需要实际的b字母。要打印,而不是数字数组。我该怎么办?

b

3 个答案:

答案 0 :(得分:2)

endarray_keys一起使用:

$array = array("a" => array(1, 2, 3),
                       "b" => array(4, 5, 6));
$keys = array_keys($array);
$end = end($keys);
print_r($end);

请注意,由于end会调整数组指针(因此,在没有通知级别错误的情况下,您无法将来自array_keys的输出直接传递给end),最好使用简单的方法

echo $keys[count($keys)-1];

答案 1 :(得分:1)

简单

$array = array("a" => array(1, 2, 3),"b" => array(4, 5, 6));

end($array);

echo key($array);

输出

b

Sandbox

end的调用将内部数组指针放在数组的末尾,然后key获取当前位置的key(现在是数组中的最后一项)。

要重置数组指针,只需使用:

 reset($array); //moves pointer to the start

您不能一行完成它,因为end返回数组元素end,而key需要数组作为参数。有点“怪异”,因为end移动了内部数组指针,您实际上看不到。

更新

我刚才想到的一种方法是使用一行反向键和数组键:

 echo key(array_reverse($array));

基本上,当您执行array_reverse时,它会翻转顺序并返回反转的数组。然后,我们可以将此数组用作key()的参数,它获取我们现在向后的数组的(当前)第一个键,或原始数组的最后一个键(双负数)。

输出

 b

Sandbox

享受!

答案 2 :(得分:0)

一种简单的方法是遍历数组的键并将键存储在每个索引处。

<?php

$array = array("a" => array(1, 2, 3),
"b" => array(4, 5, 6));

foreach ($array as $key => $value) $end = $key;
// This will overwrite the value until you get to the last index then print it out

print_r($end);