【发布时间】:2011-07-25 06:21:48
【问题描述】:
$ar1=array("手机","商店","软件","硬件");
$arr2=arry("shop","Mobile","shop","software","shop")
我想将 arr2 的元素与 arr1 进行比较,即
$counts=数组(); foreach($arr2 作为 $val) { if(in_array($val, $arr1)) { array_push($counts,$val); // 这里将我的插入查询在 mysql 表中插入数据。 } } //foreach循环结束 $specific_fields = array_count_values($counts); /* 数组 ([商店] => 3 [软件] => 1 [移动] => 1) $total_fields=count($arr2); // 输出为 5 现在首先我想找到每个元素的百分比 即 $per1=$specific_fields['shop']/$total_fields; $per2=$per1*100; $percentage=number_format($per2,0); 当我找到百分比时,如何使用所有元素的百分比值更新下面的查询。 $query="update table_name set shop='$percentage_value',Mobile='$percentage_value'......."; }
是否有动态方式自动更新所有字段。
【问题讨论】:
-
一般来说,将更改的派生值保存到关系数据库不是一个好习惯。保存传入的原始值并在需要时使用查询来计算派生值会更有效。这有两个优点——没有更新,只有插入;以及在许多不同类型的计算中使用原始数据的能力。少数值得保存更改派生值的情况之一是汇总表,它可以充当昂贵查询结果的一种缓存。