我有几个较早前编写的大型PHP函数,它们包含一些关联数组。到目前为止,这些数组中包含字符串和整数类型的键(例如"brown"和118),因此我对它们没有任何问题。然而,当所有键都是整数时,它们将被转换为0、1等数字,而不是保留原来的键值。
是否有一种方法可以强制数组保留我给定的键,即使它们全都是整数?这些函数非常庞大,改变它们需要太长时间。
编辑:正如Mike B所猜测的那样,我使用了一个排序函数,它似乎重新索引了数组。我使用了在此处找到的一个函数:Sort an Array by keys based on another Array?。
其中第一个函数是Erin的,但它没有保留正确的键索引。我尝试了Boombastic编辑过的版本,它运行良好。
感谢您所有的答案!
是否有一种方法可以强制数组保留我给定的键,即使它们全都是整数?这些函数非常庞大,改变它们需要太长时间。
编辑:正如Mike B所猜测的那样,我使用了一个排序函数,它似乎重新索引了数组。我使用了在此处找到的一个函数:Sort an Array by keys based on another Array?。
其中第一个函数是Erin的,但它没有保留正确的键索引。我尝试了Boombastic编辑过的版本,它运行良好。
感谢您所有的答案!
array(5 => 'foo')
创建一个带有整数键 5 和值 foo 的数组,它并不强制从0开始。你是否进行了任何排序?这可能导致 PHP 重新索引键。看到代码会更好理解。 - Mike B