gpt4 book ai didi

php - 交换 php 中找到的数组键

转载 作者:行者123 更新时间:2023-11-29 14:55:03 26 4
gpt4 key购买 nike

我从一个 MySQL 查询(不是我设计的)开始,它返回如下所示的结果:

 $row['user_name'];
$row['user_property']
$row['user_property_2']
$row['day_1']
$row['day_2']
$row['day_3']
$row['day_4']
$row['day_5']

我想要做的是快速(理想情况下一步,而不是循环)替换(重新键入)包含“day_”的所有字段名称以仅包含数字,结果是:

 $row['user_name'];
$row['user_property']
$row['user_property_2']
$row['1']
$row['2']
$row['3']
$row['4']
$row['5']

但对其他字段名称键没有任何风险。

我想象一些涉及“交换”数组的解决方案,例如:

 $swap_array = ('day_1' => 1, 'day_2' => 2,'day_3' => 3, 'day_4' => 4, 'day_5' => 5);

但我不确定用什么函数来实现交换数组。我确信我以前见过这样的 native 函数,但找不到它。

最佳答案

$arr = 
array_combine(
explode(',',
preg_replace('/day_/', '', implode(',', array_keys($row)))), $row);

PS:循环有什么问题?

潜在问题 1 - 如果像 day_now 这样的返回键可能会导致问题
潜在问题 2 - 如果返回键包含逗号,可能会导致问题

但是,这两个潜在问题都可以通过增强上面的正则表达式来解决

<小时/>

对于原生函数,is array_map that you looking for?

关于php - 交换 php 中找到的数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com