1. 什么是数组
在编程语言中,数组又称为列表(list)或序列(sequence)。它是一种由一组有限的元素组成的数据集合。
在PHP中,数组可以存储多个值,并且这些值可以是不同的数据类型。PHP中的数组可以使用数字索引或字符串索引访问。
// 使用数字索引访问数组
$numbers = array(1, 2, 3, 4, 5);
echo $numbers[0]; // 输出1
// 使用字符串索引访问数组
$people = array("Alice" => 25, "Bob" => 30, "Eve" => 28);
echo $people["Alice"]; // 输出25
2. 将数组value转为key
2.1 使用array_flip函数
array_flip()函数可以交换数组中的键和值,从而将数组中的值作为新的键,而原来的键作为新的值。
$fruits = array("apple", "banana", "cherry");
$flipped_fruits = array_flip($fruits);
print_r($flipped_fruits); // 输出Array ( [apple] => 0 [banana] => 1 [cherry] => 2 )
注意,如果数组中的值不是唯一的,那么在交换键和值时会出现重复键的情况,因为PHP中的数组的键必须是唯一的。
2.2 使用foreach循环
使用foreach循环遍历数组,将每个值作为新数组的键,原来的键作为新数组的值。
$fruits = array("apple", "banana", "cherry");
$new_fruits = array();
foreach ($fruits as $value) {
$new_fruits[$value] = $value;
}
print_r($new_fruits); // 输出Array ( [apple] => apple [banana] => banana [cherry] => cherry )
2.3 使用array_combine函数和array_keys函数
array_combine()函数用于将一个数组的键和另一个数组的值合并成一个新的数组,其中第一个数组的键将成为新数组的键,第二个数组的值将成为新数组的值。
$fruits = array("apple", "banana", "cherry");
$new_keys = array_keys($fruits);
$new_fruits = array_combine($new_keys, $fruits);
print_r($new_fruits); // 输出Array ( [0] => apple [1] => banana [2] => cherry )
为了将数组中的值作为新的键,可以先使用array_keys()函数获得原数组的键,然后再将其作为新数组的键。
3. 总结
在PHP中,将数组中的值作为新的键有多种方法,如使用array_flip函数、foreach循环和array_combine函数等。
无论使用哪种方法,都需要确保新数组的键是唯一的,否则可能会出现重复键的情况。