use*_*755 26 php arrays dictionary associative
在PHP中将简单数组转换为关联数组的最快方法是什么,以便可以在isset($array[$value])?中检查值?
这是进行以下转换的最快方式:
$array = array(1, 2, 3, 4, 5);
$assoc = array();
foreach ($array as $i => $value) {
$assoc[$value] = 1;
}
Run Code Online (Sandbox Code Playgroud)
Ali*_*xel 33
您的代码完全相当于:
$assoc = array_fill_keys(array(1, 2, 3, 4, 5), 1); // or
$assoc = array_fill_keys(range(1, 5), 1);
Run Code Online (Sandbox Code Playgroud)
array_flip()虽然它可能适用于您的目的,但它不一样.
PHP ref : array_fill_keys(),array_flip()
Fel*_*ing 18
array_flip() 正是这样做:
array_flip()以翻转顺序返回一个数组,即来自trans的键成为值,而来自trans的值成为键.
请注意,trans的值必须是有效键,即它们必须是整数或字符串.如果值的类型错误,将发出警告,并且不会翻转有问题的键/值对.
如果值有多次出现,则最新的键将用作其值,而所有其他键将丢失.
但除此之外,PHP中只有一种类型的数组.即使数字("简单",如你所说)数组也是关联的.
A.M*_*ara 14
如果有人仍然想知道如何做到这一点,使用array_combine函数有一个更简单的解决方案。
$array = array(1, 2, 3, 4, 5);
$assoc = array_combine($array,$array);
Run Code Online (Sandbox Code Playgroud)