我从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;
对阵列的其他元素做同样的事情,我被困住了,我不知道如何实现这一点,我需要一些帮助,谢谢。
答案 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);