0

使用 WP 我正在构建分数的细分。每个细分都是一个自定义选择字段,其值从 1 到 10。我试图实现的最终结果是通过计算所有细分分数的总和并将其除以添加的数量来显示 WP 循环内的总分细分分数。

问题是我添加的每个帖子都加上了它从以前的帖子中获取数组的总分。例如:

帖子 1

array(6) { [0]=> array(0) { } [1]=> string(1) "7" [2]=> string(2) "10" [3]=> string(1) "9" [4]=> string(2) "10" [5]=> string(1) "1" }

帖子 2

array(9) { [0]=> array(0) { } [1]=> string(1) "7" [2]=> string(2) "10" [3]=> string(1) "9" [4]=> string(2) "10" [5]=> string(1) "1" [6]=> array(0) { } [7]=> string(1) "1" [8]=> string(1) "3" }

帖子 3

array(13) { [0]=> array(0) { } [1]=> string(1) "7" [2]=> string(2) "10" [3]=> string(1) "9" [4]=> string(2) "10" [5]=> string(1) "1" [6]=> array(0) { } [7]=> string(1) "1" [8]=> string(1) "3" [9]=> array(0) { } [10]=> string(1) "9" [11]=> string(2) "10" [12]=> string(1) "3" }

如您所见,Post 2 有它自己的数组和 Post 1 的数组,Post 3 有它自己的数组和 Post 1 和 Post 2 的数组。

这是我在 WP while 循环中使用的代码

<?php
$score_rows = get_post_meta($post->ID, 'review_score', true);
$score[] = array();

foreach( $score_rows as $row ):
    $score[] = $row['score_number'];
endforeach;

$score_items = count( $score ); 
$score_divide = $score_items;
$score_sum = array_sum( $score );
$score_total = $score_sum / $score_divide;
?>

这段代码在我只有一篇文章的 single.php 中效果很好,但是当我有超过一篇文章时该怎么办?如何防止帖子像这样组合数组?

更新 我发现所有的值都是字符串,也许这就是导致它这样的原因。是否可以将值转换为整数?

4

1 回答 1

0

改变

$score[] = array();

$score = array();
于 2013-06-05T09:57:27.983 回答