PHP数组搜索和操作
试试这个简单的foreachPHP数组搜索和操作,php,html,sql,arrays,Php,Html,Sql,Arrays,试试这个简单的foreach ex- company1 title1 $1000 company1 title1 $1500 company2 title2 $2000 company2 title3 $2500 company3 title3 $3000 company3 title3 $2500 output - company1 title1 $1250 company2 title2 $2000
ex-
company1 title1 $1000
company1 title1 $1500
company2 title2 $2000
company2 title3 $2500
company3 title3 $3000
company3 title3 $2500
output -
company1 title1 $1250
company2 title2 $2000
company2 title3 $2500
company3 title3 $2750
如果您不需要使用每一行,那么您可以通过SQL完成这一切:
$reuslSetArray = array();
if (!is_null($arr)) {
foreach ($arr as $key => $mainArray) {
$reuslSetArray[$mainArray['j_company'] . '_' . $mainArray['j_title']][] = $mainArray['j_salary'];
}
}
if (!is_null($reuslSetArray)) {
foreach ($reuslSetArray as $key => $resultArray) {
$labels = explode("_", $key);
$value = array_sum($resultArray) / count($resultArray);
echo $labels[0] . ' ' . $labels[1] . ' ' . $value . " <br>";
}
}
查询结果在$row中
仅供参考,对于代码块,请单击代码高亮显示的{},而不是使用记号。刻度是用于内联代码的,我不会连接字符串。它使层次结构不那么明显,代码也不那么明显。i、 e.使用$RESULTSTARRAY[$jCompany][$jTitle][]=$jSalary;相反,我们也可以得到平均值。从表组中选择j_公司、j_标题、计数*为c、SUMj_工资/c为平均值,由j_公司、j_标题、Hanks组成。我没想到。
$reuslSetArray = array();
if (!is_null($arr)) {
foreach ($arr as $key => $mainArray) {
$reuslSetArray[$mainArray['j_company'] . '_' . $mainArray['j_title']][] = $mainArray['j_salary'];
}
}
if (!is_null($reuslSetArray)) {
foreach ($reuslSetArray as $key => $resultArray) {
$labels = explode("_", $key);
$value = array_sum($resultArray) / count($resultArray);
echo $labels[0] . ' ' . $labels[1] . ' ' . $value . " <br>";
}
}
SELECT j_company,j_title,COUNT(*) as c, SUM(j_salary) as s FROM table GROUP BY j_company, j_title
$avg = $row['s'] / $row['c'];