Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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,我有一个数组(如下所示)。它有a和b,每个里面都有数字。但是,当我使用end()函数时,它会给我b的数组。我要实际的b字母。要打印的,不是数字数组。我该怎么做 <?php $array = array("a" => array(1, 2, 3), "b" => array(4, 5, 6)); $end = end($array); print_r($end); // gives me 4, 5, 6. I want the v

我有一个数组(如下所示)。它有
a
b
,每个里面都有数字。但是,当我使用
end()
函数时,它会给我
b
的数组。我要实际的
b
字母。要打印的,不是数字数组。我该怎么做

<?php

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

$end = end($array);
print_r($end); // gives me 4, 5, 6. I want the value b

结束
数组_键一起使用

$array = array("a" => array(1, 2, 3),
                       "b" => array(4, 5, 6));
$keys = array_keys($array);
$end = end($keys);
print_r($end);
请注意,由于
end
会调整数组指针(因此您无法将
array_键的输出直接传递到
end
,而不会出现通知级别的错误),因此可能最好只使用

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

end
array\u键一起使用

$array = array("a" => array(1, 2, 3),
                       "b" => array(4, 5, 6));
$keys = array_keys($array);
$end = end($keys);
print_r($end);
请注意,由于
end
会调整数组指针(因此您无法将
array_键的输出直接传递到
end
,而不会出现通知级别的错误),因此可能最好只使用

echo $keys[count($keys)-1];
简单地

输出

b
 b

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

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

 reset($array); //moves pointer to the start
不能在一行中完成,因为end返回
end
处的数组元素,
键需要数组作为参数。这有点“奇怪”,因为
end
移动了内部数组指针,而您并没有真正看到它

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

 echo key(array_reverse($array));
基本上,当您执行
array\u reverse
时,它会翻转顺序并返回反转的数组。然后,我们可以使用此数组作为
key()
的参数,该参数获取当前向后数组的(当前)第一个键,或原始数组的最后一个键(有点像双负数)

输出

b
 b

享受吧

简单

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

echo key($array);
输出

b
 b

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

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

 reset($array); //moves pointer to the start
不能在一行中完成,因为end返回
end
处的数组元素,
键需要数组作为参数。这有点“奇怪”,因为
end
移动了内部数组指针,而您并没有真正看到它

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

 echo key(array_reverse($array));
基本上,当您执行
array\u reverse
时,它会翻转顺序并返回反转的数组。然后,我们可以使用此数组作为
key()
的参数,该参数获取当前向后数组的(当前)第一个键,或原始数组的最后一个键(有点像双负数)

输出

b
 b


享受吧

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

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

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

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

可能重复的@Yuri查看重复-那里有更多的解决方案。
end($array);然后
$end=key($array)`对end的调用将内部数组指针放在数组的末尾,然后key获取当前位置的键。@Yuri的可能重复项请参见重复项-那里有更多的解决方案。
end($array);然后
$end=key($array)`对end的调用将内部数组指针放在数组的末尾,然后key获取当前位置的键。是否有更有效的方法查找最后一项(我一直在寻找b)@Cemal是的,在这种情况下仍然有效。array_keys仅提供您传递给它的数组的键。要获取该数组元素(也是数组)的键,您必须执行类似于
array\u keys($array['b])
的操作。看看有没有更有效的方法找到最后一项(我一直在寻找b)@Cemal是的,在这种情况下仍然有效。array_keys仅提供您传递给它的数组的键。要获取该数组元素(也是数组)的键,您必须执行类似于
array\u keys($array['b])
的操作。看见