为什么php函数每个返回4个值?

为什么php函数每个返回4个值?,php,each,Php,Each,看起来前2个([1]和['value'])和最后2个([0]和['key'])元素总是相同的,那么这有什么意义呢 <?php $foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese"); $bar = each($foo); print_r($bar); ?> Array ( [1] => bob [value] => bob [0] => 0 [key] =&

看起来前2个(
[1]
['value']
)和最后2个(
[0]
['key']
)元素总是相同的,那么这有什么意义呢

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

排列
(
[1] =>鲍勃
[值]=>bob
[0] => 0
[键]=>0
)

只能使用数字标记。这样就可以使用以下结构:

list($key, $val) = each($array);
比如:

$item = each($array);
echo $item['key']; // key is easier to understand here.

一些代码?我不明白你的问题是什么……但同样的信息可以少提供50%的字符吗?为什么要重复信息?这是一个有据可查的行为:“为所有投反对票的人干杯,我认为这是一个合理的问题。对于不熟悉列表函数细节的人来说,返回多余的[0]和[1]键根本不是直观的。Upvote。合理的问题是,作为一个
key=>value
对,它是一对而不是两对谢谢你的回答,但是如果每个返回一个包含键[value]和[key]的数组,那么它肯定是一个关联数组,而不是一个数字索引数组?@Lars list搜索标记
0
1
。我说的是数字符号,不是数字数组<代码>php>列表($a,$b)=数组('a'=>'b','c'=>'d');PHP注意:第1行PHP shell代码中未定义的偏移量:1 PHP注意:第1行PHP shell代码中未定义的偏移量:0