これが私のコードです:
$sc = 'hello 8491241 some text 6254841 some text 568241 414844:412';
preg_match_all('/[0-9]{5,10}/', $sc, $matches1);
preg_match_all('/[0-9]{5,10}:[0-9]{1,5}/', $sc, $matches2);
function cub1($match)
{
return array(
'batch' => $match,
'type' => '1',
);
}
function cub2($match)
{
return array(
'batch' => $match,
'type' => '2',
);
}
$pr_matches1 = array_map('cub1', $matches1[0]);
$pr_matches2 = array_map('cub2', $matches2[0]);
$all_matches = array_merge($pr_matches1,$pr_matches2);
コードを改善し、array_map コールバック関数 (cub1 と cub2) を 1 つの関数 (cub) として作成することが可能かどうかを尋ねています。$matches1 と $matches2 に異なる「タイプ」を設定する必要があるだけです。
何かアイデアはありますか?