我的问题完全如上所述。
我想知道是否足够“信任”数组的内部指针总是指向它的第一个元素,无论如何,只需使用它:
$bar = current($foo);
或者,如果我没有机会,首先将数组的内部指针重置为第一个元素,然后再使用它:
reset($foo);
$bar = current($foo);
我问的原因是因为如果当前的()函数不可靠,它可能会给最终用户带来误导性信息,我宁愿避免使用以下主题的任何电子邮件:
"What is this? I don't even..."
我相信你明白了。 :)
编辑:
我知道current()函数的要点是访问数组当前内部指针的位置。我的问题是,当没有其他函数调用应该移动内部指针时,内部指针是否保证在数组创建后立即指向数组的第一个元素。
答案 0 :(得分:5)
current()
的目的是访问元素,当前数组的内部指针位于。如果你想使用一个总是返回第一个元素的函数,要么reset()
该数组的内部指针(它还返回第一个元素中的值,所以你不需要在之后调用current()
),或使用$foo[0]
(不移动指针,仅用于正确排序,数字索引的数组)。
如上所述,为了回答您的问题,current()
保证在您使用array(...)
表示法创建数组后立即返回数组的第一个元素。来自current()
函数的手动示例:
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
...
来自reset()
函数的手动示例:
<?php
$array = array('step one', 'step two', 'step three', 'step four');
// by default, the pointer is on the first element
echo current($array) . "<br />\n"; // "step one"
...