字符串:Source200000000000000000A525016Source200000000000000000A525008Source200000000000000000A525018Source200000000000000000A525018Source100000000000000000A525009Source100000000000000000A525013Source100000000000000000A525016Source100000000000000000A525008把它变成数组Source2或Source1为值,数字为键(key)
$re = /(?<Source\d\S{24})\B(?=Source)/i
foreach (preg_split("$re", $string) as $sub) {
# $hash;
if (preg_match(/^(Source+\d)(\S+)\s*$/i, $sub)) {
$hash["$1"] = $2;
}
}
foreach (preg_split("$re", $string) as $sub) {
# $hash;
if (preg_match(/^(Source+\d)(\S+)\s*$/i, $sub)) {
$hash["$1"] = $2;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-01-27
<?php
$str = ":Source200000000000000000A525016Source200000000000000000A525008Source200000000000000000A525018Source200000000000000000A525018Source100000000000000000A525009Source100000000000000000A525013Source100000000000000000A525016Source100000000000000000A525008";
preg_match_all('/(Source[\d]{1})(\w*?)(?=Source[\d]{1})/' , $str , $tmp_out);
$ary = array_combine($tmp_out[2] , $tmp_out[1]);
echo "<pre>";
var_dump($ary);
echo "</pre>";
?>
$str = ":Source200000000000000000A525016Source200000000000000000A525008Source200000000000000000A525018Source200000000000000000A525018Source100000000000000000A525009Source100000000000000000A525013Source100000000000000000A525016Source100000000000000000A525008";
preg_match_all('/(Source[\d]{1})(\w*?)(?=Source[\d]{1})/' , $str , $tmp_out);
$ary = array_combine($tmp_out[2] , $tmp_out[1]);
echo "<pre>";
var_dump($ary);
echo "</pre>";
?>
第2个回答 2010-01-26
<?php
$str='Source200000000000000000A525016Source200000000000000000A525008Source200000000000000000A525018Source200000000000000000A525018Source100000000000000000A525009Source100000000000000000A525013Source100000000000000000A525016Source100000000000000000A525008';
$a = explode('Source',$str);
$Source1=array();
$Source2=array();
foreach($a as $val){
$s= substr($val,0,1);
if($s==1){
$Source1[]="Source".$val;
}
if($s==2){
$Source2[]="Source".$val;
}
}
print_r($Source2);
print_r($Source1);
?>
看看这个对不对
$str='Source200000000000000000A525016Source200000000000000000A525008Source200000000000000000A525018Source200000000000000000A525018Source100000000000000000A525009Source100000000000000000A525013Source100000000000000000A525016Source100000000000000000A525008';
$a = explode('Source',$str);
$Source1=array();
$Source2=array();
foreach($a as $val){
$s= substr($val,0,1);
if($s==1){
$Source1[]="Source".$val;
}
if($s==2){
$Source2[]="Source".$val;
}
}
print_r($Source2);
print_r($Source1);
?>
看看这个对不对