如何拆分数组并在PHP中读取它们

时间:2016-06-13 18:35:40

标签: php arrays

我从mysql的表中得到了这个字符串

$my_string = 40-10-10,41-20-20,42-30-30;

我正在使用它来爆炸它

$my_array = explode(',', $my_string);print_r我明白了:

  Array
(
    [0] => 40-10-10
    [1] => 41-20-20
    [2] => 42-30-30
)

现在我想将该数组的每个元素都放到另一个数组中,例如:

[0] => 40-10-10应该是这样的数组

    Array
(
 [0] => 40
 [1] => 10
 [2] => 10
)

然后将这些值转换为变量

$v1 = 40;
$v2 = 10;
$v3 = 10;

对阵列的其他元素做同样的事情,我被困住了,我不知道如何实现这一点,我需要一些帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

$my_array = explode(',', $my_string);

然后

 $my_array2 = explode('-', $my_array[0]);

$v1 = $my_array2[0];
$v2 = $my_array2[1]:
$v3 = $my_array2[2]

或者像E_p建议

list($v1 , $v2, $v3) =  explode('-', $my_array[0]);

并为$ my_array的另一个索引重新启动(最终使用foreach)

答案 1 :(得分:0)

$my_string = 40-10-10,41-20-20,42-30-30;
$my_array = explode(',', $my_string);

$i = 1;
foreach($my_array as $m) {
    $my_numbers = explode('-', $my_string);
    foreach($my_numbers as $number) {
        ${"v".$i} = $number;
        $i++;
    }
}

现在你可以做$ v1,$ v2,...

答案 2 :(得分:0)

您可以使用array_map函数尝试这个函数,该函数代码更少,更易读。

$my_array = explode(',', $my_string);

function get_array($str){

  return explode('-', $str);

}

$result = array_map('get_array', $my_array);