我的字符串是:
$string = '200AUD, 150USD, 80GBP, 1250000VND';
我如何从$字符串转换为一个数组与键=〉值.
Key: AUD => Value 200
Key: USD => Value 150
Key: GBP => 80
Key: VND => 1250000
更新日期:
@Mark Baker我的php版本是5.4,所以我不能测试你的代码,谢谢
@Aleatoric我使用这段代码,但是数组返回键和值的空格字符:
Array
(
[ CHF] => 130
[ GBP] => 80
[ USD] => 125
[ DKK] => 750
[ PLN] => 400
[ CZK] => 2500
[ YTL] => 175
[ BGN] => 175
[ RUB] => 4000
[ RON] => 400
[ SEK] => 1000
)
我已经使用trim()来去除所有的空间,但是你能告诉我不使用trim()函数的最佳方法吗?
3条答案
按热度按时间g9icjywg1#
你必须首先用以下命令分解字符串:
然后用foreach循环迭代元素,拆分字符串并将其放入关联数组中:
vojdkbi02#
需要PHP〉= 5.5
bvuwiixz3#
我更喜欢使用
sscanf()
,就像@MarkBaker的回答一样,因为它允许将数值显式转换为整数类型,但是为了最小化循环次数,我推荐使用array_reduce()
,因为它允许键声明。代码:(Demo)
输出:
在解构
sscanf()
的返回值时,上面的脚本首先为第二个元素([1]
)声明了一个变量,然后可以立即使用该变量将金额推送到以相关货币为键的数组中。不需要任何复杂的重构,可以使用并集运算符
+
(Demo)将关联元素添加到结果数组。