如何在PHP中将{{}}转换为sting varible

时间:2017-12-27 13:44:37

标签: php angularjs

我在此代码中有一个代码我通过角度获取数据库中的复选框数据性别数据为{{us.gender}}并且其打印成功'M' 我将它存储在$gen="{{us.gender}}“中,它也打印M但是当我使用它时我的PHP代码然后$gen值不能用作字符串。 当我改变$gen="M"时,代码就是工作我不能理解正在发生的事情

<?php $gender="{{us.gender}}"?>
   <div class="form-group col-md-9">
  <label for="gender">Gender:<?php echo $gender;?></label>
<label class="radio-inline">

  <input type="radio" name="gender" <?php if($gender=="M"){ echo "checked";}?>  value="m">Male
</label>
<label class="radio-inline">
  <input type="radio" name="gender" <?php if($gender =="f") { echo "checked"; }?>  value="f">Female
</label>
<label class="radio-inline">
  <input type="radio" name="gender" <?php if($gender =="o") { echo "checked"; }?>  value="o">other
</label>
  </div>

使用$gen="M"时代码正常工作 我使用$gen="{{us.gender}}"; 然后我打印$ gen它也打印M. 但在代码中它不起作用

1 个答案:

答案 0 :(得分:0)

你做不到这样的事情。您正在尝试使用Angular(javascript)变量设置PHP变量。那是不可能的:

PHP在Server-side上处理,因此当PHP读取您的代码时,它无法理解属于AngularJS的{{ }}模板语法。它只是在你输入的时候输出。

如果您的数据来自角度,那么使用Angular工具来解决问题:

AngularJS解决方案(1.x)

您需要使用指令ngChecked来解决它:

<div class="form-group col-md-9">
  <label for="gender">Gender:{{ us.gender }}</label>
  <label class="radio-inline">
    <!-- NOTE THAT ON YOUR ORIGINAL CODE YOU ARE MIXING UPPERCASE AND LOWERCASE `M` CHAR -->
    <input type="radio" name="gender" ng-checked="us.gender == 'm'" value="m">Male
  </label>
  <label class="radio-inline">
    <input type="radio" name="gender" ng-checked="us.gender == 'f'" value="f">Female
  </label>
  <label class="radio-inline">
    <input type="radio" name="gender" ng-checked="us.gender == 'o'" value="o">other
  </label>
</div>