【发布时间】:2020-05-23 17:38:22
【问题描述】:
感觉这个问题已经解决了,但我的搜索没有找到“好的”解决方案。我有一个时间要求严格的应用程序,需要将一个典型的字符串转换为一个关联数组:
"appliCAation=webCALL&Arg1=ABC&arG2=xyZ&someMore=Dec-1950"
我知道我可以为此使用parse_str(),但我想“规范化”用户输入,以便所有键始终为大写,所有值始终为小写(反之亦然,如果可能通过参数完成而不是加宽代码的足迹)。
由于array_change_key_case()不能递归工作,所以我寻找一种代码行少、性能高效的优雅方式。
目前我使用parse_str( strtolower( $input ), $arr );,然后循环(递归)数组来更改键。不幸的是,这需要两种方法和“许多”代码行。
有更快/更好/更小的解决方案吗?
【问题讨论】:
-
一旦问题被分解(“首先解析”),很容易找到与每个任务相关的解决方案:array_change_key_case、stackoverflow.com/q/25068571/2864740 等。
-
哦,我明白了..有些上有些下..:|
-
您两次recursively 提及,但没有显示需要递归的数组。