你好,我有一个字符串
$str = "[10-1],[20-2],[30-3],";我想把两个数组分割成-
Array1
(
[0] => 10
[1] => 20
[2] => 30
)
Array2
(
[0] => 1
[1] => 2
[2] => 3
)怎么做呢?而且,我的变量$str是根据值而变化的。
谢谢..
发布于 2014-12-12 11:11:40
使用regex拆分它:
$str = "[10-1],[20-2],[30-3],";
$matches = array();
preg_match_all('/\[(\d+)-(\d+)\],/', $str, $matches);如果你unset($matches[0]);,剩下的正是你想要的。
发布于 2014-12-12 11:08:22
我会用explode()。几乎可以肯定有一个更好的方法,但它从来没有让我失望。
$array1 = [];
$array2 = [];
$str = "[10-1],[20-2],[30-3]";
$split = explode ('[', $str);
foreach ($split as $item) {
$array = explode (']', $item);
$array = explode('-', $array[0]);
$array1[] = $array[1];
$array2[] = $array[0];
}发布于 2014-12-12 11:09:23
这个对你有用吗?
$str = "[10-1],[20-2],[30-3],";
$str = str_replace(array("[","]"),"",$str);
$parts = explode(",",$str);
$arr1 = [];
$arr2 = [];
foreach($parts as $part){
if($part){
$arr_parts = explode("-",$part);
$arr1[] = $arr_parts[0];
$arr2[] = $arr_parts[1];
}
}
echo "<pre>";
var_dump($arr1,$arr2);产出如下:
array(3) {
[0]=>
string(2) "10"
[1]=>
string(2) "20"
[2]=>
string(2) "30"
}
array(3) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "3"
}https://stackoverflow.com/questions/27442176
复制相似问题