PHP用do while多轮插入替换

 $value) { //未标记的逐个来
    $parts = explode('-', $value);
    $last_part = end($parts); //取出最后个值作为连接点
    if (strpos("-$b-", "-$last_part-") !== false) { //判断是否有连接点
      $b = str_replace($last_part, $value, $b); //替换:接入
      unset($a[$key]); //去除已替换的留下下轮继续替换
      $replaced = true; //如果本轮还在替换则更新标记为是
    }
  }
} while (!empty($a) && $replaced); //如果还有没有插入 且 上次有标记是 则继续第2+次替换

echo $b; //输出新值

/*
得到:bb1-aa1-ab1-ac1-ac2-ab2-ab3-aa2-aa3-bb2-ad2-bb4
*/

你可能感兴趣的:(php,开发语言)