【问题标题】:php - how to convert array?php - 如何转换数组?
【发布时间】:2019-11-25 08:22:47
【问题描述】:

你能帮帮我吗?

我有这个数组:

array(2) { 
[0]=> string(5) "[3]:9" 
[1]=> string(5) "[2]:6" 
}

如何将此数组转换为:

array(2) { 
[3]=> "9" 
[2]=> "6" 
}

【问题讨论】:

  • 你有什么尝试?
  • 这在成为数组之前是什么样子的?似乎您在此之前使用过explode?如果这是真的,请发布字符串。

标签: php arrays


【解决方案1】:

你可以通过常规匹配来做到这一点,Demo

$result = [];
$array = ["[3]:9","[2]:6"];
foreach($array as $v){
    preg_match("/\[(.*)\]:(.*)/",$v,$matches);
    $result[$matches[1]] = $matches[2];
}
print_r($result);

【讨论】:

    【解决方案2】:
    • 左修剪字符串中的[
    • ]: 上拆分字符串(我将爆炸限制为两个)。

    代码:(Demo)

    $array = ["[3]:9", "[2]:6"];
    foreach ($array as $v) {
        [$key, $value] = explode(']:', ltrim($v, '['), 2);
        $result[$key] = $value;
    }
    var_export($result);
    

    我使用array destructuring 来声明explode 提供的键和值。

    【讨论】:

      猜你喜欢
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多