PHP如何去掉陣列key?

2020-07-16 10:06:27

PHP如何去掉陣列key?

在PHP中可以使用「array_values()」函數去掉陣列key,該函數的作用是獲取陣列中所有的值,其用法為「array_values($array)」,其引數「$array」代表要去掉key的陣列,返回值為含所有值的索引陣列。

推薦視訊教學:《PHP程式設計從入門到精通(學習路線)

簡單例子

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

以上例程會輸出:

Array
(
    [0] => XL
    [1] => gold
)


使用範例

<?php
$a = array(
3 => 11,
1 => 22,
2 => 33,
);
$a[0] = 44;

print_r( array_values( $a ));
==>
Array(
  [0] => 11
  [1] => 22
  [2] => 33
  [3] => 44
)
?>
<?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教學

以上就是PHP如何去掉陣列key?的詳細內容,更多請關注TW511.COM其它相關文章!