0

我想重新创建这样的东西......

var CA, AZ, TN = 'user1';

随着返回...

<?php 
$phpstring = $wpdb->get_row("SELECT value FROM user_data WHERE user_id = 5");
?>    
var state_phpstring = <?php echo $phpstring ?>; 

并将“user1”字符串添加到每个(CA、AZ 和 TN)中,就像我写进去一样。

有没有办法在不创建循环的情况下做到这一点,只需编写类似于此的代码......

var <?php echo $phpstring ?> = 'user1';
4

2 回答 2

1

您的变量带有一些检查...

<?php 
$phpstring = $wpdb->get_row("SELECT value FROM user_data WHERE user_id = 5");
?>    
var state_phpstring = <?php echo (is_array($phpstring)) ? implode(',',$phpstring):'null'; ?>; 

编辑:您可以在示例代码中使用此变量

var <?php echo $phpstring ?> = 'user1';

但是您从 db 获得的每条记录都将被分配给相同的属性,这没有任何意义,您最好将所有属性数据存储在 mysql 中并获取它们并稍后分配它们......顺便说一句,现在,在你告诉我想告诉你这些你想要实现的主要目标;

要存储主要变量的不同属性(示例中的个人),您最好使用数组。像这样;

user1 = new Array();
user1["state"] = "CA";
user1["country"] = "USA";
//and so on...

要使用上面的示例 php,您可以尝试这样的操作;

<?php 
$phpstring = $wpdb->get_row("SELECT username,user_state,property2,property3 FROM user_data WHERE user_id = 5");
// make sure $phpstring is an array and has item in it here
// you can also assign more than one person data with foreach usage
foreach($phpstring as $individuals){
    echo $individuals["username"]." = new Array();";
    echo $individuals["username"].'["state"] = "'.$individuals["user_state"].'";';
    echo $individuals["username"].'["property2"] = "'.$individuals["property2"].'";';
    echo $individuals["property2"].'["property3"] = "'.$individuals["property2"].'";';
}
?>

请注意,这只是一个示例,我不知道您的 phpstring 如何返回(关联或不关联等)

最后一点;实际上,使用将变量视为现实世界对象(例如人)的面向对象编程是最好的方法,但这需要了解 OOP 逻辑和用法,因此短期内数组会做你想做的更简单的事情。

于 2012-11-20T01:07:31.583 回答
0
var <?php echo implode( ', ', array( 'CA', 'AZ', 'TN')); ?> = 'user1';

虽然我不确定这是否会在 JS 中产生预期的结果。它会产生你正在寻找的输出:

var CA, AZ, TN = 'user1';
于 2012-11-20T01:02:50.400 回答