如何只在带有preg_split函数的双引号中取值?
从这个示例字符串中
$String = '["number","1","2470A K18-901","PEDAL ASSY, GEAR CHANGE","1","PCS","56500.00","0","56500","action"]'就像这样:
Array
(
[0] => number
[1] => 1
[2] => 2470A K18-901
[3] => PEDAL ASSY, GEAR CHANGE
[4] => 1
[5] => PCS
[6] => 56500.00
[7] => 0
[8] => 56500
[9] => action
)或者用另一种功能来实现
发布于 2022-03-14 07:26:36
如果要将字符串转换为数组,请使用json_decode:
<?php
$jsonobj = '["number","1","2470A K18-901","PEDAL ASSY, GEAR
CHANGE","1","PCS","56500.00","0","56500","action"]';
print_r(json_decode($jsonobj));
?>输出:
阵列( =>编号1 => 1 2 => 2470 A K18-901 3 =>踏板总成,变速箱4 => 1 5 => PCS 6 => 56500.00 7 => 0 8 => 56500 9 =>动作)
发布于 2022-03-14 07:31:06
这是一个JSON字符串,您可以使用json_decode()函数将其转换为数组。https://www.php.net/manual/de/function.json-decode.php
<?php
$String = '["number","1","2470A K18-901","PEDAL ASSY, GEAR CHANGE","1","PCS","56500.00","0","56500","action"]';
print_r(json_decode($String));发布于 2022-03-14 07:08:27
如果您希望拆分的值实际上是字符串的类型(如您的问题中所示),则可以使用preg_match_all代替(对于preg_match_all,它基本上是一行来匹配所有的苗圃值;对于preg_split,您必须修剪值周围的括号)。
<?php
$String = '["number","1","2470A K18-901","PEDAL ASSY, GEAR CHANGE","1","PCS","56500.00","0","56500","action"]';
preg_match_all('/(?<=,"|\[")[^"]+?(?=")/', $String, $Match);
$Result = $Match[0];
var_dump($Result);PS:此解决方案假定数组中的值没有任何转义引号。
https://stackoverflow.com/questions/71463447
复制相似问题