php 如何在变量中添加字符串

举个例子吧:
$str = "12321";
变成
$str = "12abc321";
前提是不知道$str内容,如何在3前面加上abc

首先看简单的替换:

$str1 = "*3*";                //原字符串
$str2 = "abc";                //要添加的字符串
$str1 = str_replace("3",$str2."3",$str1);        //字符串替换
echo $str1;

就是把3替换成abc3,但是这样有个前提:必须知道原始字符串里有个“3”,才可以替换,不然是无法替换的。

所以此时就需要用到另外一种方法:在指定位置添加字符串,例如:

<?php
/**
 * 指定位置插入字符串
 * @param $str  原字符串
 * @param $i    插入位置
 * @param $substr 插入字符串
 * @return string 处理后的字符串
 */
function insertToStr($str, $i, $substr){
    //指定插入位置前的字符串
    $startstr="";
    for($j=0; $j<$i; $j++){
        $startstr .= $str[$j];
    }
    
    //指定插入位置后的字符串
    $laststr="";
    for ($j=$i; $j<strlen($str); $j++){
        $laststr .= $str[$j];
    }
    
    //将插入位置前,要插入的,插入位置后三个字符串拼接起来
    $str = $startstr . $substr . $laststr;
    
    //返回结果
    return $str;
}

//测试
$str="hello zhidao!";
$newStr=insertToStr($str, 6, "baidu");
echo $newStr;
//hello baiduzhidao!
?>

测试说明:在第6个字符串位置插入新的字符串,并输出最终结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-12
$str1 = "*3*"; //原字符串
$str2 = "abc"; //要添加的字符串
$str1 = str_replace("3",$str2."3",$str1); //字符串替换
echo $str1;

这道题可以简化为字符串替换,就是把3替换成abc3,这样就简单了本回答被提问者和网友采纳
第2个回答  2013-09-12
$str1="abc"

$str2 = "12${str1}321";
第3个回答  2013-09-12
汉语点 php . 即可
第4个回答  2013-09-12
str_replace("3","abc3","12321")
相似回答