PHP如何去掉数组key?-PHP问题

资源魔 16 0

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?的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 array php故障解决 php使用问题

抱歉,评论功能暂时关闭!