当前位置: 首页 > 面试题库 >

PHP-在键/值对中拆分字符串

有宏邈
2023-03-14
问题内容

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

键=值,键2 =值2

我想将其解析为如下形式:

array(
  "key" => "value",
  "key2" => "value2"
)

我可以做类似的事情

$parts = explode(",", $string)
$parts = array_map("trim", $parts);
foreach($parts as $currentPart)
{
    list($key, $value) = explode("=", $currentPart);
    $keyValues[$key] = $value;
}

但这似乎很可笑。必须有某种方法可以使PHP更智能吗?


问题答案:

如果您不介意使用正则表达式

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);
var_dump($result);


 类似资料:
  • 问题内容: 我有一个像这样的字符串: 现在指示键值对,而将其分开。我想将键值对添加到地图。 我可以使用以下方法实现此目的: 但是,有一种有效的方法吗? 我觉得代码效率低下,因为我使用了2个对象并两次调用了该函数。另外,我正在使用,如果没有值,可能会引发。 问题答案: 您可以使用以下代码对split()进行一次调用,并对String进行一次传递。但是,它当然首先假定字符串有效: 上面的代码 可能 比

  • 问题内容: 我有一个像这样的字符串: 我希望它是一个关联数组,以便可以执行以下操作: 我知道我可以在反斜杠上爆炸,但不确定如何从那里开始。 问题答案: 通过和使用简单的正则表达式通常是最短和最快的选择: 现在,这当然是一个特例。 键 和 值 都以反斜杠分隔,所有 键对 和 值 也是如此。由于必须进行两次转义,因此正则表达式也更长一些。 但是,可以将该方案推广到其他样式的字符串。 不同的分隔符 常见

  • 问题内容: 如何在PHP中使用定界符分割字符串?例如,如果我有字符串,我如何得到? 问题答案: 做这项工作: 您还可以直接将部分结果提取到变量中:

  • 问题内容: 我有一个看起来像这样的列表: 我想用“ =”分隔此列表,以便左侧的所有内容都将成为键,而右侧的值将成为值。 问题答案: http://codepad.org/bZ8lGuHE

  • 问题内容: 我想分裂字符串列,其中值 不等于 到 并保存到另一个表,这将是这样的: 这是我的分割字符串代码: 这是我用来调用该函数的代码: 上面的代码给我这个错误: 问题答案: 子查询返回了1个以上的值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。该语句已终止。 由于您的子查询返回了多行,因此发生了上述错误。尝试执行以下操作: 您会看到它将返回3行,每一项返回一

  • 问题内容: 文件names.txt由许多名称组成,格式为: 有谁知道如何分割字符串,以便用逗号分隔各个名称? 以下代码按逗号分隔,并在名称两边加上引号,什么是转义字符以分隔出。可以在一个Split语句中完成,拆分并用逗号分隔吗? 顺便说一句,这是Project Euler问题#22的一部分。http://projecteuler.net/problem=22 问题答案: 杰里米(Jeremy)的回