如何将简单数组转换为关联数组?
2022-08-30 13:36:27
在 PHP 中将简单数组转换为关联数组的最快方法是什么,以便可以在 ?isset($array[$value])
即执行以下转换的最快方法:
$array = array(1, 2, 3, 4, 5);
$assoc = array();
foreach ($array as $i => $value) {
$assoc[$value] = 1;
}
在 PHP 中将简单数组转换为关联数组的最快方法是什么,以便可以在 ?isset($array[$value])
即执行以下转换的最快方法:
$array = array(1, 2, 3, 4, 5);
$assoc = array();
foreach ($array as $i => $value) {
$assoc[$value] = 1;
}
您的代码完全等效于:
$assoc = array_fill_keys(array(1, 2, 3, 4, 5), 1); // or
$assoc = array_fill_keys(range(1, 5), 1);
array_flip()
,虽然它可能适用于您的目的,但它是不一样的。
PHP ref: array_fill_keys()
, array_flip()
array_flip()
正是这样做的:
array_flip() 按翻转顺序返回数组,即来自 trans 的键成为值,来自 trans 的值变为键。
请注意,trans 的值必须是有效的键,即它们必须是整数或字符串。如果值的类型错误,则会发出警告,并且有问题的键/值对不会被翻转。
如果某个值多次出现,则最新的键将用作其值,所有其他键都将丢失。
但除此之外,PHP中只有一种类型的数组。即使是数字(“简单”,正如你所说的那样)数组也是结合的。