php - 如何根据所需的 ccondition 将字符串拆分为数组

标签 php string split explode

我想将字符串拆分为数组并将值存储在表中 该字符串是

$string="34=No,46=fgbfb,48=NA,29=NA,45=dsd,49=InConclusive,43=1BHK,35=NA,38=12,39=2,27=q1,41=Others,52=fgfdg,47=fgfg,31=Chawl,33=UpperMiddleClass,37=SelfOwned,30=fdgfdgb,50=fgfdgb,51=fgfdg,32=NA,44=[Refrigerator,Airconditioner]";

我尝试 explode (',',$string); 但我不想拆分对象数组,即(44=[冰箱,空调]),我想要像 44 和冰箱,空调

预期结果:-

 Array ( 
        [0] => 34=No 
        [1] => 46=fgbfb 
        [2] => 48=NA 
        [3] => 29=NA 
        [4] => 45=dsd 
        [5] => 49=InConclusive 
        [6] => 43=1BHK 
        [7] => 35=NA 
        [8] => 38=12 
        [9] => 39=2 
        [10] => 27=q1 
        [11] => 41=Others 
        [12] => 52=fgfdg 
        [13] => 47=fgfg 
        [14] => 31=Chawl 
        [15] => 33=UpperMiddleClass 
        [16] => 37=SelfOwned 
        [17] => 30=fdgfdgb 
        [18] => 50=fgfdgb 
        [19] => 51=fgfdg 
        [20] => 32=NA 
        [21] => 44=[Refrigerator,Airconditioner] 
    )

最佳答案

适用于所有可能情况的解决方案:-

<?php
$string="34=No,46=fgbfb,48=NA,29=NA,45=dsd,49=InConclusive,43=1BHK,35=NA,38=12,39=2,27=q1,41=Others,52=fgfdg,47=fgfg,31=Chawl,33=UpperMiddleClass,37=SelfOwned,30=fdgfdgb,50=fgfdgb,51=fgfdg,32=NA,44=[Refrigerator,Airconditioner]";

$string = str_replace(["[","]"], ["{","}"], $string); // convert `[` to `{` and `]` to `}`
$array = preg_split('/(,)(?=(?:[^}]|{[^{]*})*$)/',$string); // split string by `,` and ignore `,` between `{}`
echo "<pre/>";print_r($array);  // print array
foreach ($array as &$ar){ // iterate through array
    $ar = str_replace(["{","}"], ["[","]"], $ar); // convert `{` to `[` and `}` to `]`

}

echo "<pre/>";print_r($array); // print desired array

输出:- https://eval.in/725457

关于php - 如何根据所需的 ccondition 将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41887375/

相关文章:

php - 使用 PHP 和 mysql 我想允许用户从数组中选择结果

php - 如何检查事件日期是否与现有事件不重叠

vb.net - VB.net 如何在正斜杠或反斜杠处分割字符串?

c++ - 从 const char* 参数中取出一个索引

java - 无法识别分割字符

java - 正则表达式模式 : split() vs find()

php - jquery php 替换 css

php - 使用 paypal 按钮 - 我的网页可以判断 paypal 交易是否成功吗?

c++:初始化静态字符串成员

android - 如何使用字符串资源命名字符串数组