php array_shift 与关联数组中的未设置

php array_shift vs unset in associative array

嗨,array_shift 和关联数组中的 unset 有什么区别?

我明白在普通数组中,如果你使用 array_shift,键仍然存在,只有第一个值消失了,但在关联数组中,我看不出 [=19 之间有什么区别=] 并取消设置。

下面是代码示例:

    $a=array("a"=>"red","b"=>"green","c"=>"blue");
    $key=key($a);
    unset($a[$key]);
    print_r ($a);

    //result: Array ( [b] => green [c] => blue )

    $b=array("a"=>"red","b"=>"green","c"=>"blue");
    array_shift($b);
    print_r ($b);

    //result: Array ( [b] => green [c] => blue )

array_shift 将 return 数组的头部(在本例中为条目 "a")

unset 将通过其键删除一个元素,例如 unset($a['b']) 将为您留下 Array ( [a] => red [c] => blue )