PHP : 将逗号分隔和特殊符号字符串拆分为数组
PHP : Split a comma delimited & special symbol string into an array
我已经看到如何使用
在 PHP 中将逗号分隔的字符串拆分为数组
$myArray = explode(',', $myString);
但是当一些逗号分隔值后面有特殊符号时,如何执行相同的操作,当找到特殊符号(@)时,然后开始一个新的内部数组。
我有这样的字符串
Treatment1,2,500,0%,1000,note1, @ Treatment2,1,2000,250 INR,1750,note2,
那么我需要一个这样的数组
Array
(
[0] => Array
(
[treatment] => Treatment1
[quantity] => 2
[cost] => 500
[discount] => 0%
[discount_type] => INR
[total] => 1000
[note] => note1
)
[1] => Array
(
[treatment] => Treatment2
[quantity] => 1
[cost] => 2000
[discount] => 250
[discount_type] => INR
[total] => 1750
[note] => note2
)
)
任何帮助将不胜感激
使用此代码
$str = "Treatment1,2,500,0%,1000,note1, @ Treatment2,1,2000,250 INR,1750,note2,";
$arr1 = explode("@",$str);
//print_r($arr1);
$finalArr = array();
foreach($arr1 as $val)
{
$finalArr[] = explode(",",$val);
}
print_r($finalArr);
试试这个 -
str = "your string";
$arr = explode('@', $str);
$newArray = array();
foreach ($arr as $val) {
$temp = explode(',', $val);
$newTemp['treatment'] = $temp[0];
$newTemp['quantity'] = $temp[1];
$newTemp['cost'] = $temp[2];
$newTemp['discount'] = $temp[3];
$newTemp['discount_type'] = "INR";
$newTemp['total'] = $temp[4];
$newTemp['note'] = $temp[5];
$newArray[] = $newTemp;
$temp = array();
}
var_dump($newArray);
我已经看到如何使用
在 PHP 中将逗号分隔的字符串拆分为数组$myArray = explode(',', $myString);
但是当一些逗号分隔值后面有特殊符号时,如何执行相同的操作,当找到特殊符号(@)时,然后开始一个新的内部数组。
我有这样的字符串
Treatment1,2,500,0%,1000,note1, @ Treatment2,1,2000,250 INR,1750,note2,
那么我需要一个这样的数组
Array
(
[0] => Array
(
[treatment] => Treatment1
[quantity] => 2
[cost] => 500
[discount] => 0%
[discount_type] => INR
[total] => 1000
[note] => note1
)
[1] => Array
(
[treatment] => Treatment2
[quantity] => 1
[cost] => 2000
[discount] => 250
[discount_type] => INR
[total] => 1750
[note] => note2
)
)
任何帮助将不胜感激
使用此代码
$str = "Treatment1,2,500,0%,1000,note1, @ Treatment2,1,2000,250 INR,1750,note2,";
$arr1 = explode("@",$str);
//print_r($arr1);
$finalArr = array();
foreach($arr1 as $val)
{
$finalArr[] = explode(",",$val);
}
print_r($finalArr);
试试这个 -
str = "your string";
$arr = explode('@', $str);
$newArray = array();
foreach ($arr as $val) {
$temp = explode(',', $val);
$newTemp['treatment'] = $temp[0];
$newTemp['quantity'] = $temp[1];
$newTemp['cost'] = $temp[2];
$newTemp['discount'] = $temp[3];
$newTemp['discount_type'] = "INR";
$newTemp['total'] = $temp[4];
$newTemp['note'] = $temp[5];
$newArray[] = $newTemp;
$temp = array();
}
var_dump($newArray);