Заменить переменную другой переменной в PHP - PullRequest
1 голос
/ 27 сентября 2019

Вот моя ситуация, скажем, у меня есть две переменные:

$a = "Peter";
$b = "tall";

Затем я могу объединить это с помощью

$c = " $a is very $b ";

, что дает мне строку: «Питер оченьtall "

Однако, если у меня есть другая переменная $ e, переданная моей функции, и строка" $ a is Very $ b ", тогда, я распечатаю $ e, она просто показывает мне" $ a isvery $ b ";

То, что я ожидал, это" Питер очень высокий ", потому что $ e равно $ c.

Это весь логический поток:

$e = " $a is very $b ";
getMsg($e);
function getMsg($e){
  $a = "Peter";
  $b = "tall";
  $c = " $a is very $b ";
  echo $c //Peter is very tall
  echo $e //$a is very $b
}

Как я могу достичь этой функции?

Ответы [ 3 ]

2 голосов
/ 27 сентября 2019

Вы можете использовать sprintf документацию sprintf .Символы %s являются строковыми токенами, которые подставляются в строку формата (1-й параметр в sprintf).

$e = "%s is very %s";
getMsg($e);
function getMsg($e){
  $a = "Peter";
  $b = "tall";
  echo sprintf($e, $a, $b);
}

Или менее связанная версия функции getMsg():

function getMsg($msg,$name,$is){
  echo sprintf($msg, $name, $is);
}  
getMsg("%s is very %s", "Peter", "tall");
0 голосов
/ 27 сентября 2019

Попробуй это.Это должно работать нормально.Вам нужно определить $a и $b вне функции.

function getString($a,$b,$e){

  $c = " $a is very $b ";
  echo $c;
  echo '<br/>'.$e;
}
$a = "Peter";
$b = "tall";
$e = " $a is very $b ";
$response = getString($a,$b,$e);

ВЫХОД:

Peter is very tall 
Peter is very tall
0 голосов
/ 27 сентября 2019

Пожалуйста, попробуйте этот код.Я надеюсь, что это то, что вы хотите.

<?php
// Your code here!
 $a = "Peter";
  $b = "tall";
$e = $a."is very".$b;
getMsg($e,$a,$b);
function getMsg($e,$a,$b)
{
 $c = $a."is very".$b;
  echo $c;
 echo $e;
}
?>
...