如何在单引号php中包含变量

时间:2014-11-14 21:15:52

标签: php jquery twitter-bootstrap x-editable

我想在单引号中包含PHP变量,因为我无法访问JQUERY插件中的双引号变量(X-Editable

PHP

$countries = array();
foreach($countries as $c){
    $country_id = $c['country_id'];
    $short_name = $c['short_name'];
    array_push($countries, array('value' => '$country_id', 'text' => '$short_name'));    <-- I want something like this...
}

我无法使用:

array('value' => $country_id, 'text' => $short_name) OR
array('value' => "$country_id", 'text' => "$short_name")

JQUERY

$('#cus_country').editable({
type: 'select',
pk: '1',
url: '/user/inline_edit',
title: 'Enter Country',
source: '<?=json_encode($countries)?>',
display: function(value) {
    if (value !== "Add Country"){
         $(this).html('<i class="fa fa-pencil"></i>' + value);
     }
    },
success: function(response, newValue) {
    //alert(response);
    if(response.status == 'error') return response.msg;
}
});

修改 当我用作静态值时,它会出现在下拉菜单中,没有任何错误。但是当我把变量放在数组中时就会出现问题。

例如:

CASE # 1
$countries = array('value'=>'some', 'text'=>'thing');
output of this variable:
Array([0]=>Array([value]=>some [text]=>thing))

CASE # 2
$countries = array('value'=>$some, 'text'=>$thing);
output of this variable:
Array([0]=>Array([value]=>some [text]=>thing))

正如您所看到的,两种情况都给了我相同的输出。但是,第一种情况会生成下拉列表而第二种情况不会生成。

2 个答案:

答案 0 :(得分:0)

array_push($countries, array('value' => "'.$country_id.'", 'text' => '$short_name'));  

你必须使用。 。 php中的语法定义了对变量进行derefence的位置。通过使用'$test',您不是使用变量,而是使用带有美元符号和字母测试的字符串。

答案 1 :(得分:0)

我发现了问题。

这是不正确的变量形式。在数据库中,变量以这种格式存储:People's thing等。

感谢@jonathan Kuhn的帮助。