【发布时间】:2020-07-16 15:06:24
【问题描述】:
我想将一个字符串分解成不同的部分,由于字符串的性质,我无法完全理解如何去做或者如果可能的话。
下面是我要分解的字符串:
"'1,2,3,4','2,4,5,6,4',NULL, NULL,NULL ,'2,3,4,5', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL"
我想要:
'1,2,3,4',
'2,4,5,6,4',
NULL,
NULL,
'2,3,4,5'
我正在考虑做这样的事情:
<?php
$test = 'CALL sp_advert_search_load(\'1,3,4,5\',\'2,4,3\',NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)';
$test1 = explode( '(',$test);
$test1 = explode( ',',$test1[1]);
foreach ($test1 as $food){
echo $food."<br />";;
}
?>
然后尝试以某种方式使用 ' 和起点和终点将数组重新构建为字符串。
任何人有更好的方法来解决这个问题吗?
【问题讨论】:
-
您能解决您的问题还是只是在寻求更好的性能?
-
您的第一个字符串和第二个字符串不同。您是要解析两者还是仅解析一个?如果有,是哪一个?如果您可以将其转换为有效的 JSON,则使用
json_decode,这可能是最好的选择。将括号括起来,将'替换为"。 -
@NitinSingh 我还没有解决问题。我开始使用的字符串是“CALL sp_advert_search_load('1,2,3', '1,2,3', NULL, '1,2,3', NULL, NULL, NULL, NULL, NULL, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)"