我有一个形式为 key => value
的关联数组,其中 key 是一个数值,但它不是一个连续的数值。键实际上是一个 ID 号,值是一个计数。这对于大多数情况来说都很好,但是我想要一个函数来获取数组的可读名称并将其用作键,而不更改值。
我没有看到执行此操作的函数,但我假设我需要提供旧密钥和新密钥(我都有)并转换数组。有没有一种有效的方法来做到这一点?
原文由 Thomas Owens 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个形式为 key => value
的关联数组,其中 key 是一个数值,但它不是一个连续的数值。键实际上是一个 ID 号,值是一个计数。这对于大多数情况来说都很好,但是我想要一个函数来获取数组的可读名称并将其用作键,而不更改值。
我没有看到执行此操作的函数,但我假设我需要提供旧密钥和新密钥(我都有)并转换数组。有没有一种有效的方法来做到这一点?
原文由 Thomas Owens 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个实验(测试)
初始数组(像 0,1,2 这样的键)
$some_array[] = '6110';//
$some_array[] = '6111';//
$some_array[] = '6210';//
我必须将键名更改为例如 human_readable15
, human_readable16
, human_readable17
类似于已经发布的东西。在每个循环中,我设置必要的键名并从初始数组中删除相应的键。
例如,我插入 mysql $some_array
得到了 lastInsertId
我需要将键值对发送回 jquery。
$first_id_of_inserted = 7;//lastInsertId
$last_loop_for_some_array = count($some_array);
for ($current_loop = 0; $current_loop < $last_loop_for_some_array ; $current_loop++) {
$some_array['human_readable'.($first_id_of_inserted + $current_loop)] = $some_array[$current_loop];//add new key for intial array
unset( $some_array[$current_loop] );//remove already renamed key from array
}
这是带有重命名键的新数组
echo '<pre>', print_r($some_array, true), '</pre>$some_array in '. basename(__FILE__, '.php'). '.php <br/>';
如果不是 human_readable15
, human_readable16
, human_readable17
需要其他东西。然后可以创建这样的东西
$arr_with_key_names[] = 'human_readable';
$arr_with_key_names[] = 'something_another';
$arr_with_key_names[] = 'and_something_else';
for ($current_loop = 0; $current_loop < $last_loop_for_some_array ; $current_loop++) {
$some_array[$arr_with_key_names[$current_loop]] = $some_array[$current_loop];//add new key for intial array
unset( $some_array[$current_loop] );//remove already renamed key from array
}
原文由 Andris 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答585 阅读✓ 已解决
791 阅读