gpt4 book ai didi

php - 在php中将字符串转换为数组

转载 作者:可可西里 更新时间:2023-10-31 23:23:57 25 4
gpt4 key购买 nike

我得到一个数组格式的结果集,我想将方括号的值作为键,另一个作为值

这是我的代码

[Name]asdasdasd [Email]dfgdfg@in.com [Phone Number]42342342342 [Subject]dsafsdfsd [Company Name]ZXZXZX [Country]Antarctica 

我想要这样的输出:- array("name"=>"asdasdasd", "Email"=>"dfgdfg@in.com");

我如何在 PHP 中执行此操作,将不胜感激

谢谢贾西

最佳答案

你可以这样做:

<?php
$str = '[Name]asdasdasd [Email]dfgdfg@in.com [Phone Number]42342342342 [Subject]dsafsdfsd [Company Name]ZXZXZX [Country]Antarctica ';

preg_match_all('#\[([^\]]+)\]\s*([^\]\[]*[^\]\[\s])#msi', $str, $matches);

$keys = $matches[1];
$values = $matches[2];

// PHP 5
var_dump( array_combine($keys, $values) );
?>

array(6) {
["Name"]=>
string(9) "asdasdasd"
["Email"]=>
string(13) "dfgdfg@in.com"
["Phone Number"]=>
string(11) "42342342342"
["Subject"]=>
string(9) "dsafsdfsd"
["Company Name"]=>
string(6) "ZXZXZX"
["Country"]=>
string(10) "Antarctica"
}

正则表达式看起来有点复杂,但它基本上匹配除 [] 以外的任何内容,允许值中有空格并确保最后一个字符不是 [] 或空格。如果你知道你永远不会有空格,你可能会逃脱 ([^\]\[\s]+)

关于php - 在php中将字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976228/

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