PHP 如何將陣列去掉鍵值?

2020-07-16 10:06:30

PHP 如何將陣列去掉鍵值?

在PHP中可以使用「array_values()」函數將陣列去掉鍵值,該函數會返回陣列中所有的值,其語法是「array_values(array) 」,其引數array表示要操作的陣列,返回值為含所有值的索引陣列。

範例程式碼

<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>

以上例程會輸出:

Array
(
    [0] => XL
    [1] => gold
)
<?php
/**
* Get all values from specific key in a multidimensional array
*
* @param $key string
* @param $arr array
* @return null|string|array
*/
function array_value_recursive($key, array $arr){
    $val = array();
    array_walk_recursive($arr, function($v, $k) use($key, &$val){
        if($k == $key) array_push($val, $v);
    });
    return count($val) > 1 ? $val : array_pop($val);
}

$arr = array(
    'foo' => 'foo',
    'bar' => array(
        'baz' => 'baz',
        'candy' => 'candy',
        'vegetable' => array(
            'carrot' => 'carrot',
        )
    ),
    'vegetable' => array(
        'carrot' => 'carrot2',
    ),
    'fruits' => 'fruits',
);

var_dump(array_value_recursive('carrot', $arr)); // array(2) { [0]=> string(6) "carrot" [1]=> string(7) "carrot2" }
var_dump(array_value_recursive('apple', $arr)); // null
var_dump(array_value_recursive('baz', $arr)); // string(3) "baz"
var_dump(array_value_recursive('candy', $arr)); // string(5) "candy"
var_dump(array_value_recursive('pear', $arr)); // null
?>
以上就是PHP 如何將陣列去掉鍵值?的詳細內容,更多請關注TW511.COM其它相關文章!