当前位置: 首页 > 知识库问答 >
问题:

将冒号分隔键数组:值转换为键数组

南门鸿哲
2023-03-14

我得到了以下数组:

[
  "icon: fas fa-toolbox",
  "read-friendly: Mix Fixes"
]

我想将其转换为以下内容:

{
  "icon": "fas fa-toolbox",
  "read-friendly": "Mix Fixes"
}

做这件事最好的方法是什么?

到目前为止我已经试过了,所以得到了钥匙,但是它们的值是错误的:

$settings = collect(\array_slice($lines, 0, $blank))->map(static function ($value) {
    $value = explode(':', $value);
    return ['key' => trim($value[0]), 'value' => trim($value[1])];
});
$settings = $settings->keyBy('key');

共有1个答案

林曦之
2023-03-14

你想多了。您可以通过迭代每一行并将其放入一个新数组来简化这一点。

$lines = [
    "icon: fas fa-toolbox",
    "read-friendly: Mix Fixes"
];

$settings = [];

foreach($lines as $value) {
    $value = explode(':', $value);
    $settings[trim($value[0])]  = trim($value[1]);
}
 类似资料:
  • 有没有办法做到这一点? 我有一个角色,说“/”,我想得到这个的键盘组合。 对于德语布局,“/”将是Shift7。

  • 问题内容: 我知道如果要将s 数组转换为a ,我可以这样做: 但我不知道如何将s 数组转换为逗号分隔 问题答案: 好吧,你可以这样做:

  • 问题内容: 我正在使用jQuery的parseJSON()函数将json字符串插入变量中。问题是,它正在将我的数据变成一个对象,而不是一个二维数组。例如, 问题是,“名称”不应该是 键 (假设这是正确的术语)。相反,它应该是: 我将如何转换呢?还是有一个不同于使用for循环遍历数组索引的方法(但仍然可以像在2d数组中一样,以字符串形式访问键和值)。 编辑:这是一些正在使用的json(请注意,它的使

  • 假设我有以下地图: 我想根据以上内容获得。我目前的解决方案似乎太长太可怕了。 一定有更好的办法,不是吗?

  • 编辑:键名称是动态的和未知的。 我想获取一个对象,并创建一个字符串数组,将每个键和值连接在一起。 我的键包含下划线,我需要摆脱(我有这部分工作)。我正在努力弄清楚下一步将所有内容连接在一起。(我想我错过了如何从RHS引用键和值?) 输入: 期望输出: 规格: 电流规格输出:

  • 问题内容: 我有一个这样的表: Department是另一个具有dept_id和dept_name作为列的表。我想要这样的结果, 有什么帮助吗? 问题答案: 您可以按照以下方式进行操作: 编辑: 基于我需要加入哪一列?在一个表中,我有逗号分隔的ID,而在其他表中,我只有ID