确定可能关联数组中的第一个键的最佳方法是什么?我首先想到的是,它只存储数组,然后立即破坏它,如下所示:
foreach ($an_array as $key => $val) break;
因此,让$ key包含第一个键,但这似乎效率很低。有谁有更好的解决方案?
从 PHP 7.3
开始,有一个名为的新内置函数array_key_first()
,它将在不重置内部指针的情况下从给定数组中检索第一个键。查看文档以获取更多信息。
您可以使用reset
和key
:
reset($array);
$first_key = key($array);
它本质上与您的初始代码相同,但是开销更少,而且发生的情况更明显。
请记住要调用reset
,否则您可能会得到数组中的任何键。您也可以使用end
而不是reset
获取最后一个密钥。
如果您希望键获取第一个值,则reset
实际上返回它:
$first_value = reset($array);
不过,有一种特殊情况需要提防(因此请先检查数组的长度):
$arr1 = array(false);
$arr2 = array();
var_dump(reset($arr1) === reset($arr2)); // bool(true)
问题内容: 我在Javascript中有一个关联数组: 我如何获得这本字典的钥匙?即我想要 七年后的编辑:为了使术语正确-在Javascript中没有“关联数组”之类的东西-从技术上讲,这只是一个并且是我们想要的对象键。 问题答案: 您可以使用: 例: 请参阅下面的参考以获取浏览器支持。Firefox4.20,Chrome5,IE9支持该功能。如果浏览器不支持,则下面的链接包含一个代码片段,您可以
问题内容: 我有一个数组: 我想获得此数组的第一个元素。预期结果: 字符串 一个要求: 它不能通过引用传递来完成 ,所以不是一个好的解决方案。 我怎样才能做到这一点? 问题答案: 原始答案,但代价昂贵(O(n)): 在O(1)中: 其他用例等 如果修改(就重置数组指针而言)不是问题,则可以使用: 如果需要数组“副本”,则从理论上讲应该更有效: 使用PHP 5.4+(但如果为空,则可能导致索引错误)
返回数组的第一个元素。 使用 arr[0] 返回传递数组的第一个元素。 const head = arr => arr[0]; head([1, 2, 3]); // 1
问题内容: 我的关联数组: 使用以下代码,用的值填充 我该如何获取密钥? 问题答案: 你可以做: 如PHP文档中所述。
问题内容: 我有一个关联数组,我需要找到一个键的数字位置。我可以手动遍历数组以找到它,但是有没有更好的方法内置到PHP中呢? 问题答案:
问题内容: 我有这个数组: 我想要这个数组: 如何从一对货币中提取价值? 问题答案: 您可以使用map来获取元组的第一个元素,如下所示: