在PHP开发中,经常需要操作数组数据。PHP数组有两种形式:索引数组和关联数组。通常我们在编写代码时会用到二维数组(包含多个关联数组),这时候如果不需要二维数组的键名,就需要从二维数组中去掉键名。本文将介绍一些简单的方法来完成这个任务。
一、使用array_values函数
使用array_values函数可以很方便地去掉二维数组的键名。下面是示例代码:
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $person = array_map('array_values', $person);
在上面的代码中,我们先定义了一个包含三个关联数组的二维数组。然后通过array_map函数和array_values函数,将二维数组中的每个关联数组去掉了键名。解释一下array_map函数,它的作用是将给定函数作用到数组的每个元素上,并返回一个新的数组。
现在我们可以使用print_r函数输出去掉键名后的数组:
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
从输出结果可以看出,二维数组中的每个关联数组已经去掉了键名。
二、使用循环
另一种方法是使用循环,逐个获取关联数组的值并保存到新的索引数组中。下面是示例代码:
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $newPerson = array(); foreach ($person as $p) { $newPerson[] = array_values($p); } print_r($newPerson);
在上面的代码中,我们使用foreach循环遍历二维数组$person,每次取出一个关联数组,然后通过array_values函数将其键名去掉并保存到新的索引数组$newPerson中。
现在我们可以使用print_r函数输出去掉键名后的数组:
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
与第一种方法相比,这种方法更加繁琐,但是也更加灵活,因为我们可以在循环中进行一些其他的操作。
总结
在PHP开发中,操作数组是非常常见的。去掉二维数组的键名是一个常见的需求,也是比较容易实现的。本文介绍了使用array_values函数和循环两种去掉二维数组键名的方法。无论是哪种方式,我们都可以在一些特殊情况下根据需要进行选择。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!