php怎么去除二维键
时间 : 2023-04-26 13:42:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

好的,让我来给大家介绍一下 PHP 中如何去除二维数组键。

在 PHP 中,可以使用 unset 函数来删除一维或二维数组的某个元素或键名,示例如下:

<?php

// 一维数组

$arr1 = array('a', 'b', 'c');

unset($arr1[1]); // 删除元素 'b'

print_r($arr1); // 输出结果: Array ( [0] => a [2] => c )

// 二维数组

$arr2 = array(

array('name' => 'Tom', 'age' => 20),

array('name' => 'Jack', 'age' => 25),

array('name' => 'Lucy', 'age' => 22)

);

unset($arr2[1]['name']); // 删除元素 'Jack' 的 name 键名

print_r($arr2); // 输出结果: Array ( [0] => Array ( [name] => Tom [age] => 20 ) [1] => Array ( [age] => 25 ) [2] => Array ( [name] => Lucy [age] => 22 ) )

可以看到,上述代码中使用 unset 函数可以删除指定键名或元素。在一维数组中,可以直接指定要删除的元素的下标;在二维数组中,要同时指定要删除的元素所在的下标和所要删除的键名。

如果只想删除二维数组中的键名,而不删除整个子数组,则可以使用 unset 函数的第一个参数传递一个数组,示例如下:

<?php

// 二维数组

$arr = array(

array('name' => 'Tom', 'age' => 20),

array('name' => 'Jack', 'age' => 25),

array('name' => 'Lucy', 'age' => 22)

);

unset($arr[1]['name']); // 删除元素 'Jack' 的 name 键名

print_r($arr); // 输出结果: Array ( [0] => Array ( [name] => Tom [age] => 20 ) [1] => Array ( [age] => 25 ) [2] => Array ( [name] => Lucy [age] => 22 ) )

// 删除第二个子数组的 name 键名

unset($arr[1]['name']);

// 重新索引二维数组

$arr = array_values($arr);

print_r($arr); // 输出结果: Array ( [0] => Array ( [name] => Tom [age] => 20 ) [1] => Array ( [age] => 25 ) [2] => Array ( [name] => Lucy [age] => 22 ) )

foreach ($arr as &$value) {

unset($value['name']); // 删除 name 键名

}

unset($value); // 取消引用

print_r($arr); // 输出结果: Array ( [0] => Array ( [age] => 20 ) [1] => Array ( [age] => 25 ) [2] => Array ( [age] => 22 ) )

如上代码所示,我们将 unset 函数的第一个参数传递给一个数组,然后使用 array_values 函数重新索引二维数组,最后在循环中使用 unset 函数删除键名。

那么现在,我们可以清楚地知道 PHP 中如何去掉二维数组键了吗?希望这篇文章对大家有所帮助。

PHP中可以使用array_values()函数去除二维数组的键。

二维数组是指一个数组中的元素也是一个数组,它由多个键值对组成。

在PHP中,二维数组的键可以是数字或者字符串,例如:

```php

$students = array(

array('id' => 1, 'name' => 'Alice', 'age' => 18),

array('id' => 2, 'name' => 'Bob', 'age' => 19),

array('id' => 3, 'name' => 'Cathy', 'age' => 20)

);

上面的代码定义了一个二维数组$students,它包含三个元素,每个元素都是一个关联数组,包含三个键值对。它的结构如下所示:

Array

(

[0] => Array

(

[id] => 1

[name] => Alice

[age] => 18

)

[1] => Array

(

[id] => 2

[name] => Bob

[age] => 19

)

[2] => Array

(

[id] => 3

[name] => Cathy

[age] => 20

)

)

如果你想去除$students数组的键,只保留值,可以使用array_values()函数,例如:

```php

$new_array = array_values($students);

上面的代码会生成一个新的数组$new_array,它只包含原数组$students的值,而不包含键。

$new_array的结构如下所示:

Array

(

[0] => Array

(

[id] => 1

[name] => Alice

[age] => 18

)

[1] => Array

(

[id] => 2

[name] => Bob

[age] => 19

)

[2] => Array

(

[id] => 3

[name] => Cathy

[age] => 20

)

)

以上就是PHP中去除二维数组键的简单方法。