问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php如何将字符串作为变量使用

发布网友 发布时间:2022-04-06 03:08

我来回答

7个回答

热心网友 时间:2022-04-06 04:38

如果要将字符串当变量使用最简单的方法就是替换:

例:

$a = "原字符串内容";
$b = "变量的值";
$c = "变量字符串";
$d = str_replace($c,$b,$a);//新值

从$a到$d,$c包含的字符串就相当于一个变量;不知道你明白没有!

热心网友 时间:2022-04-06 05:56

php如何将字符串作为变量来使用:

短字符串

        直接通过$str = '文本内容';来存储。

2.长字符串,并且换行的成大段落文本而且还有特殊字符的。

        $str = <<<longtxt

            文本内容“文本内容”/'文字内容'
            $<p>'&nbsp'这个一段很长的文本

            特殊的字符实体,需要转义的一些内容。
<<<longtxt;

热心网友 时间:2022-04-06 07:30

楼上的正则也行,但是也可以这样(正则太慢了):

<?php
$str = 'aa.php?a=aa&b={id}&c={title}&d={';
$row = array( 'id' => '1', 'title' => 'bb', );
$tmp = '';
$key = '';
while (($pla = strpos($str, '{')) !== FALSE)
{
    $tmp .= substr($str, 0, $pla);
    $str  = substr($str, $pla + 1);
    if (($plb = strpos($str, '}')) === FALSE)
    {
        $tmp .= '{';
        continue;
    }
    $key = substr($str, 0, $plb);
    if (isset($row[$key]))
    {
        $tmp .= ((string) $row[$key]);
    }
    $str = substr($str, $plb + 1);
}
$str = $tmp;
unset($tmp, $key, $pla, $plb);

var_export($str); // $str 就是替换后的结果
?>

还有另一种算法:

<?php
$str = 'aa.php?a=aa&b={id}&c={title}';
$row = array( 'id' => '1', 'title' => 'bb' );
foreach ($row as $key => $val)
{
    $key = '{' . $key . '}';
    $len = strlen($key);
    if (($pla = strpos($str, $key)) === FALSE)
    {
        continue;
    }
    $str = substr($str, 0, $pla) . $val . substr($str, $pla + $len);
}
unset($key, $val, $pla, $len);
var_export($str); // $str 就是替换后的结果
?>

这样就可以了。

热心网友 时间:2022-04-06 09:22

遍历数组逐个替换,下面的代码已测试通过过

<?php
$str = "aa.php?a=aa&b={id}&c={title}";
$row=array('id'=>1,'title'=>'bb');
foreach ($row as $name => $value) {
$str = str_replace("{".$name."}", $value, $str);
}
echo $str;
?>

热心网友 时间:2022-04-06 11:30

用正则替换方法可以做到,看一下preg_replace()函数追问还请指教具体写法

追答1,'title'=>'bb');
foreach ($row as $name => $value) {
$str = preg_replace("/{".$name."}/i", $value, $str);
}
echo $str;
?>

热心网友 时间:2022-04-06 13:54

$row=array('id'=>1,'title'=>'bb');

echo "aa.php?a=aa&b=".$row['id']."&c=".$row['title'];

热心网友 时间:2022-04-06 16:36

$test = "你的字符串";
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
视网膜裂孔治疗的效果 视网膜上有裂孔是在它的周边打激光还是在裂孔上 仙剑3中魔剑和镇妖剑,哪个好? 镇妖剑关于镇妖剑的攻击力与属性 一个男人如果对你动了真情,哪些细节是藏不住的? 没烧完的煤气放置久了还能不能用 赛尔号有哪些精灵的招百分百打中被人 刘德华-谢谢你的爱种子下载地址有么?好人一生平安 我的5s是接手朋友的二手的,接手时只删除了icloud,没有抹除所有数据,现 ... 捡了个苹果5s刷机是不是就行了 PHP实现替换一个变量,该变量为特殊且有规律的字符串,如何操作? php高手一个简单的问题。老出现 Notice: Undefined index: hidden1 in ***** PHP中Notice的问题 专业的PHP高手 会开启error_reporting(0)吗? 把notice隐藏掉 php如何消除这个提示 Notice: Undefined index: page PHP如何消除Notice: Undefined variable: PHP_SELF 想要php的echo返回json数据,但是返回的数据了还携带了notice这些信息,要怎么去掉? PHP如何关闭notice级别的错误提示 如何让php的notice错误不显示 matlab 如何将浮点数变成整数? C语言浮点型转换为整型怎么转换的? C语言的浮点型怎么转换为整型? 在C语言中,如何将一个浮点数变换成整数? 怎样将浮点数转换成整数 php sprintf 把浮点数转成整数,比如 50.00转化成 50 写个列子 php怎么强制转换浮点成整形 最好用的框架是哪个?CI,YII,rails,thinkphp哪个好? 如何快速理解yii 1.1 框架 关于YII框架和DEDECMS系统的思路问题 php框架学laravel和yii哪个好一些 为什么“tp5”在主控制器中添加控制器但是访问显示控制器不存在? tp5 view类应该怎样操作好 thinkphp5怎么加载视图 tp5一直提示控制器不存在怎么办? 求解:ThinkPHP5 $this-&gt;fetch()无法渲染模板 THINKPHP控制器怎么连接HTML啊.......... 我现在有3张表,用THINKPHP的关联模型如何定义关联模型 thinkphp5地址路由请求响应错误 tp5 php 登录后 无法转跳显示用户名,需要刷新才能显示,怎么才能解决? thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写? tp框架中怎么使用include和require,比如我有两个html页面在view下面inde 如何用 helper中的json tp5 ThinkPHP 错误位置 FILE: &#47;alidata&#47;www&#47;yun&#47;ThinkPHP&#47;Library&#47;Think&#47;View.class.php  LINE: 110 implode — 将一个一维数组的值转化为字符串? PHP读取MYSQL数据时出现乱码怎么办? php显示中文乱码,phpmyadmin里的MySQL数据库中文乱码,如何解决? php 读取mysql数据库乱码 高手求救,php调用mysql数据库不能显示中文呈乱码? php读取mysql数据时中文乱码 PHP+mysql数据库,前台页面都是UTF-8的,MYSQL也是UTF-8,MYSQL查看出现乱码