Php 单引号中的变量
我有一个密码:Php 单引号中的变量,php,Php,我有一个密码: $str = 'some code'; $String = 'Some params , This is {$str}'; $String = str_replace('\'', "\"", $String); $array = explode(',', $String); var_dump($array); 结果: ' This is {$str}' 如果不在$string='some params,This is{$str}'中使用双引号,如何获取字符串'This
$str = 'some code';
$String = 'Some params , This is {$str}';
$String = str_replace('\'', "\"", $String);
$array = explode(',', $String);
var_dump($array);
结果:
' This is {$str}'
如果不在$string='some params,This is{$str}'中使用双引号,如何获取字符串'This some code'
代码>?
有什么功能吗?str_replace不起作用
编辑:
上面的代码就是一个例子。我的代码的一个特例。
我的意思是像这样的代码:
$str1 = 'some code 1';
$str2 = 'some code 2';
$str3 = 'some code 3';
$str = '{$str1} ... {$str2} ... {$str3} ';
$result = preg_match_all('/({\$\S*})/',$str,$res);
foreach ($res[0] as $value){
$arr_replace = ['{$','}'];
$value_replaced = str_replace($arr_replace, "",$value);
$str = str_replace($value,$$value_replaced,$str);
}
var_dump($str);
有更简单的方法吗?为了获取变量,您可以执行以下四种操作之一:
双引号
$str = 'some code';
$String = "Some params , This is {$str}";
显然,您不想这样做,因此我们将选择方案2:
串联
$str = 'some code';
$String = 'Some params , This is ' . $str;
str\u替换
正如@Nick所指出的:
$String = str_replace('{$str}', $str, $String);
herdeoc
$str = 'some code';
$String = <<<EOT
Some params , This is $str
EOT;
$str='some code';
$String=要获取变量,可以执行以下四项操作之一:
双引号
$str = 'some code';
$String = "Some params , This is {$str}";
显然,您不想这样做,因此我们将选择方案2:
串联
$str = 'some code';
$String = 'Some params , This is ' . $str;
str\u替换
正如@Nick所指出的:
$String = str_replace('{$str}', $str, $String);
herdeoc
$str = 'some code';
$String = <<<EOT
Some params , This is $str
EOT;
$str='some code';
$String=我不明白你为什么需要这个,但是你可以试试我的代码
您也可以使用str\u replace
<?php
$str = 'some code';
$String = 'Some params , This is {$str}';
$String = preg_replace('/{\$str}/',$str ,$String);
//$String = str_replace('{$str}',$str ,$String);
$array = explode(',', $String);
var_dump($array);
我不明白你为什么需要这个,但你可以试试我的代码
您也可以使用str\u replace
<?php
$str = 'some code';
$String = 'Some params , This is {$str}';
$String = preg_replace('/{\$str}/',$str ,$String);
//$String = str_replace('{$str}',$str ,$String);
$array = explode(',', $String);
var_dump($array);
使用此
$String = 'Some params , This is '.$str;
代替
$String = 'Some params , This is {$str}';
用这个
$String = 'Some params , This is '.$str;
代替
$String = 'Some params , This is {$str}';
双引号有什么问题吗?您可以使用$String=str_replace('{$str}',$str,$String)代码>实际上还有更复杂的代码。我从数组中获取$String变量。单引号中有一个值。此选项适用于此特定情况,但此字符串中可能有一个动态变量名。看起来好像您正在寻找模板引擎的形式-查找{$…}位并使用。。。查找并替换变量。双引号有什么问题吗?可以使用$String=str_replace(“{$str},$str,$String)代码>实际上还有更复杂的代码。我从数组中获取$String变量。单引号中有一个值。此选项适用于此特定情况,但此字符串中可能有一个动态变量名。看起来好像您正在寻找模板引擎的形式-查找{$…}位并使用。。。查找变量并替换它。