2015-04-06 70 views
0

欲一些PHP分配給像JavaScript變量:勘定PHP變量PHP數組

var goldPrice = <?php echo ResourceArray::$goldLevel[$user->getResource($data->id, "goldLevel")]?>; 

但結束:1(代替2000)。

這裏是我的故障排除:

我有一個PHP類的數組:

<?php 
class ResourceArray { 
    public static $goldLevel = array(
    0, 2000, 10000 
), 

我已經嘗試過了幾個變量分配給找到,沒有運氣的問題:

var goldLevel = <?php $user->getResource($data -> id, "goldLevel") ?>; 
var goldPrice = <?php echo ResourceArray::$goldLevel[$user->getResource($data->id, "goldLevel")]?>; 
var goldPrice1 = <?php echo ResourceArray::$goldLevel[1]?>; 

這寫道:

​​

最後,我想分配一個PHP變量擺在:

PHP: $goldLevel1 = $user->getResource($data->id, "goldLevel"); 
    $goldLevel2 = 1; 


js: var goldPrice2 = <?php echo ResourceArray::$goldLevel[$goldLevel1]?>; 
    var goldPrice3 = <?php echo ResourceArray::$goldLevel[$goldLevel2]?>; 

該結束了,如:

var goldPrice2 = ; 
var goldPrice3 = 2000; 

當我回聲$ goldLevel1和$ goldLevel2,它顯示1和1

+0

我會'var_dump($ user-> getResource($ data-> id,「goldLevel」))'' – callback 2015-04-06 12:53:29

回答

0

嘗試這種正常工作與我:

<html><body> 
<?php 

class ResourceArray { 
    public static $goldLevel = array(
    0, 2000, 10000 
); 
} 

// set gold price to second entry of goldLevel array 
$goldPrice = ResourceArray::$goldLevel[1]; 
// check to make sure we have a valid number 
if (!is_numeric($goldPrice) || $goldPrice < 1) 
    $goldPrice = 0; 

// this outputs 2000 
echo $goldPrice; 

?> 
<script> 
    var goldPrice = <?php echo $goldPrice; ?>; 
    alert(goldPrice); 
</script> 
</body></html> 
+0

謝謝你的努力! – 2015-04-06 13:16:57

0

嘗試使用json_encode()

Documentation for json_encode

使用方法如下

var goldPrice = <?php echo json_encode(array(0, 2000, 10000))?>; 

只需更換陣列用於動態創建一個。

0

首先創建JSON

var jsonO = <?php echo json_encode(array(0, 2000, 10000))?>; 

的變量,這將是一個JSON字符串,將其轉換爲JavaScript數組

var goldPrice = $.map(jsonO, function(el) { return el; }) 

然後使用goldPrice陣列。