$ar = array(
  '一年级 X 2',
  '二年级 X 10',
  '三年级 X 5',
);
if($t = preg_grep('/^二年级/', $ar)) {
  $ar[key($t)] = preg_replace('/\d+$/e', '$0 + 5', current($t));
}
print_r($ar);Array
(
    [0] => 一年级 X 2
    [1] => 二年级 X 15
    [2] => 三年级 X 5
)

解决方案 »

  1.   

    如果不是数组,那怎么操作:
    比如:
    $qq="一年级 X 2, 二年级 X 10 ,三年级 X 5 ";
      

  2.   

    $qq = "一年级 X 2, 二年级 X 10 ,三年级 X 5 ";
    $k = '二年级';
    echo preg_replace("/(?<=$k X )\d+/e", '$0 + 5', $qq);
    一年级 X 2, 二年级 X 15 ,三年级 X 5