使用Json_encode变量的最佳方法

时间:2014-07-15 10:12:34

标签: javascript php json

我正在创建一些代码来从php获取变量并使用JavaScript显示它们我使用过Json

{"ZW01001":[{"cycle":4051.23,"Percent":73.26}]} 

然后将从Json循环到If语句的循环变量的最佳方法是什么,Json_encoede结果总共有14个数组,例如

{"ZW01004":[{"cycle":SomeValue,"Percent":SomeValue}]}
{"ZW01005":[{"cycle":SomeValue,"Percent":SomeValue}]} 

并且用Id选择元素的If语句部分应该对应于每个数组开头的ZW数

function Machinecycle(){
        var machines = <?PHP echo json_encode($Cycle); ?>

          if (cycle in machines < 480) {
            document.getElementById("ZL01001").style.backgroundColor = 'lime';
            document.write(Cycle);
        } else {
            document.getElementById("ZL01001").style.backgroundColor = 'red';
        }
    }
}

这是Json_encode的输出

{"ZW01001":{"0":{"cycle":4095.12,"percent":73.258823529412},"ZW01004":[{"cycle":5.95,"percent":-0.41661805150429}]}}

这是var_dump($ Cycle);

的输出
array(1) { ["ZW01001"]=> array(2) { [0]=> array(2) { ["cycle"]=> float(4097.15)        ["percent"]=> float(73.258823529412) } ["ZW01004"]=> array(1) { [0]=> array(2) { ["cycle"]=> float(7.98) ["percent"]=> float(-0.41661805150429) } } } }

这是Php代码,为了方便使用,我已将其缩短为2

$Cycle = array(

"ZW01001" => array(
array(
"cycle" => $machine1->Data(),
"percent" => $machine1->GetM()
),
"ZW01004" => array(
array(
"cycle" => $machine4->Data(),
"percent" => $machine4->GetM()
),

1 个答案:

答案 0 :(得分:1)

如果您想知道任何元素是否cycle小于480,您需要编写一个循环。

function Machinecycle(){
    var machines = <?PHP echo json_encode($Cycle); ?>

    for (var key in machines) {
        if (machines[key].cycle < 480) {
            document.getElementById(key).style.backgroundColor = 'lime';
            document.write(Cycle);
        } else {
            document.getElementById(key).style.backgroundColor = 'red';
        }
    }
}

混合DOM函数和document.write()似乎也是错误的。后者是什么?