【发布时间】:2013-04-21 00:12:12
【问题描述】:
我有一个数组,其中包含我的 sql 数据库中的几个变量。
{"gold":"0","silver":"0","bronze":"0","gdp":"12959563902","population":"3205000","country_name":"Albania"}, {"gold":"1","silver":"0","bronze":"0","gdp":"188681000000","population":"35468000","country_name":"Algeria"}
我有一个名为 $score 的附加变量,它使用数据库中的信息来计算这个分数。我想知道如何循环并将正确的分数添加到数组中的每个国家/地区。
我的原始代码:
$row = $res->fetchRow();
$resGold = $row['gold'];
$resSilver = $row['silver'];
$resBronze = $row['bronze'];
$resGdp = $row['gdp'];
$resPopulation = $row['population'];
$resCountry = $row['country_name'];
$gold_score = ($resGold * $gold_value);
$silver_score = ($resSilver * $silver_value);
$bronze_score = ($resBronze * $bronze_value);
if($population == true){
$score = (($gold_score + $silver_score + $bronze_score)/$resPopulation);
}
else if($gdp == true){
$score = (($gold_score + $silver_score + $bronze_score)/$resGdp);
}
$result = $res->fetchAll();
$result[] = array('score' => $score);
echo json_encode($result);
【问题讨论】:
-
你需要使用
json_decode函数解码你的json字符串。 -
@Rikesh 为什么我想把它放在一起时需要解码?
-
您需要对其进行解码才能对其值执行任何操作。完成后再次对其进行编码。
-
因为你必须先把你的 json 字符串变成一个数组,然后才能在上面使用 foreach。
-
分数与金、银、铜有什么关系?我在 json 中看不到任何 score 字段。
标签: php jquery mysql arrays json