获取传递到函数中的数组键名称,如$array[';key';]


get array key name passed into the function like $array['key']

可以通过这种方式获取数组键名吗?

$array = ("first" => 1);
function f($object)
{
echo(???); //should give first
}
f($array['first']);

如果只将值传递到像f($object['first'])这样的函数中,则不可能,在这种情况下,键名与传递的值没有关系。

您需要传递整个数组(f($array))并使用:

echo key($object);

我真的不知道你想要什么,但我想这会对你有所帮助:

$array = array('foo' => 'bar', 'baz' => 'foobar');
foreach ($array as $key => $value) {
  echo $key . ' = ' . $value . '<br />';
}

这将返回

foo = bar
baz = foobar

我会使用

$array = ("first" => 1);
function f($object, $key) {
    echo($key); // will give first
    echo($object[$key]); // will give 1
}
f($array, 'first');