假设S是PHP中的一个关联数组,我需要从它检索并提取第一个元素,包括value和key。
我会用
value1=array_pop(S);
但它只给了我价值。
我可以用
K=array_keys(S);
key1=array_pop(K);
value1=array_pop(S);
但它很复杂,因为它需要相同数据的两个副本。WHich是一个容易混淆的元素,因为数组本身就是数组中的一个元素。一定有一种更优雅的方式,在提取键/值的同时只读取对键/值。
发布于 2011-07-07 18:16:40
$arr = array('k1' => 'v1', 'k2' => 'v2', 'k3' => 'v3');
$a = array_slice($arr, 0, 1);
var_dump($a);
$arr = array_slice($arr, 1);
var_dump($arr);
array(1) {
["k1"]=>
string(2) "v1"
}
array(2) {
["k2"]=>
string(2) "v2"
["k3"]=>
string(2) "v3"
}
发布于 2011-07-07 18:13:52
$value = reset($array);
$key = key($array);
编辑: Hakre只是先我一步:-)
发布于 2011-07-07 18:12:54
list($value, $key) = array(reset($s), key($s));
array_shift($s); // or just unset($s[$key]);
当然,您可以将第一个语句拆分为两个单独的语句。
https://stackoverflow.com/questions/6608934
复制相似问题