值数组:-6ren">
gpt4 book ai didi

php - 在 PHP 中将字符串解析为 key=>value 数组

转载 作者:行者123 更新时间:2023-12-02 06:56:32 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

$string = "/key/value/anotherKey/anotherValue/thirdKey/thirdValue"

我想将这个字符串解析为一个键=>值数组:

array(
key => value,
anotherKey => anotherValue,
thirdKey => thirdValue
);

我找到的唯一解决方案如下,但似乎应该有更简单的方法来实现我的目标:

$split = preg_split("[/]", $string, null, PREG_SPLIT_NO_EMPTY);
$i = 0;
$j = 1;
$array = [];
for(;$i<count($split)-1;){
$array[$split[$i]] = $split[$j];
$i += 2;
$j += 2;
}

我看过this SO post ,把它只适用于查询字符串,如:

"key=value&anotherKey=anotherValue&thirdKey=thirdValue"

谁能指导我找到一个更“简单”的解决方案(我的意思是编写更少的代码,使用 PHP 函数,我想防止使用循环)?谢谢!

最佳答案

这是使用 preg_replace() 和 parse_str() 实现此目的的另一种简单方法:

$string = '/key/value/anotherKey/anotherValue/thirdKey/thirdValue';

// Transform to the query string (replace '/key/val' by 'key=val&')
$string = trim(preg_replace('|/([^/]+)/([^/]+)|', '$1=$2&', $string), '&');

// Parse the query string into array variable
parse_str($string, $new_array);
print_r($new_array);

输出:

Array
(
[key] => value
[anotherKey] => anotherValue
[thirdKey] => thirdValue
)

关于php - 在 PHP 中将字符串解析为 key=>value 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30298189/

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