0

我需要分开第一@,第二,这个变量 在此处输入图像描述

$str = '1000,10.00,10000.00@500,5.00,2500.0';


$ex = explode('@',$str);
 //result = Array ( [0] => 1000,10.00,10000.00 [1] => 500,5.00,2500.00 );

  $ex2 = explode(',',$ex);
 //result need Array ( [0] => 1000, [1] => 500, [2] => 2500);
4

2 回答 2

1

您可以使用此方法:

<?php
$str = '1000,10.00,10000.00@500,5.00,2500.0';
$arrayResult = [];
$arrayData = explode('@',$str);
foreach($arrayData as $sing){
    $arrayResult[] = explode(",",$sing);
}

echo "<pre>";
print_r($arrayResult);
echo "</pre>";
于 2020-06-08T09:49:26.933 回答
0

explode()返回一个数组,因此$ex将是一个需要迭代/foreach 的数组:

<?php
// Init array to hold exploded values
$exploded = [];
$str = '1000,10.00,10000.00@500,5.00,2500.0';

$ex = explode('@',$str);

// Iterate over the $ex-exploded items
foreach ( $ex as $exItem ) {
  // Add items to the $exploded array
  array_push($exploded, explode(',', $exItem));    
}

print_r($exploded);

将输出

Array
(
    [0] => Array
        (
            [0] => 1000
            [1] => 10.00
            [2] => 10000.00
        )

    [1] => Array
        (
            [0] => 500
            [1] => 5.00
            [2] => 2500.0
        )

)

编辑: 如果你想要一个数组中的所有值,你可以

$exploded = array_merge($exploded[0], $exploded[1]);
print_r($exploded);

这将输出

Array
(
    [0] => 1000
    [1] => 10.00
    [2] => 10000.00
    [3] => 500
    [4] => 5.00
    [5] => 2500.0
)
于 2020-06-08T09:43:19.253 回答