在PHP中使用数组值进行计算
如果我有一个多维数组,如何使数组中的某些组(例如:'工资','小时')插入到某个公式中成为$x,以便它可以通过下面的ifelse语句 我使用此通用功能计算月工资:在PHP中使用数组值进行计算,php,arrays,loops,if-statement,Php,Arrays,Loops,If Statement,如果我有一个多维数组,如何使数组中的某些组(例如:'工资','小时')插入到某个公式中成为$x,以便它可以通过下面的ifelse语句 我使用此通用功能计算月工资: ($employees[0]['wage'])*($employees[0]['hrs'])*4 但是,我想知道如何设置第一个括号(key?$employees[\u])的格式,以便“hrs”和“wage”值下数组的每个值都经过计算,计算数组中每个员工的$x值(共9个)。我假设我会创建一个循环,但是如何填充括号才能实现呢 with
($employees[0]['wage'])*($employees[0]['hrs'])*4
但是,我想知道如何设置第一个括号(key?$employees[\u]
)的格式,以便“hrs”和“wage”值下数组的每个值都经过计算,计算数组中每个员工的$x值(共9个)。我假设我会创建一个循环,但是如何填充括号才能实现呢
with monthly salary = ($employees[_]['wage']) * ($employees[_]['hrs']) * 4
where $employees is a pre-set multidimensional array I created.
<?php
$x = __
if ( $x >= 3000 ) {
echo "High paying";
} elseif ( 2000 =< x =< 2999 ) {
echo "Good paying";
} else {
echo "Low paying";
}
?>
月薪=($employees[\]['sage'])*($employees[\\]['hrs'])*4
其中$employees是我创建的一个预设多维数组。
您应该使用此
$x = array();
for($i=0;$i<count($x);$i++)
{
if ( $x[$i] >= 3000 )
{
echo "High paying";
}
elseif ( 2000 >= $x[$i] <= 2999 )
{
echo "Good paying";
}
else
{
echo "Low paying";
}
}
$x=array();
对于($i=0;$i=3000)
{
呼应“高薪”;
}
elseif(2000>=$x[$i]您应该使用这个
$x = array();
for($i=0;$i<count($x);$i++)
{
if ( $x[$i] >= 3000 )
{
echo "High paying";
}
elseif ( 2000 >= $x[$i] <= 2999 )
{
echo "Good paying";
}
else
{
echo "Low paying";
}
}
$x=array();
对于($i=0;$i=3000)
{
呼应“高薪”;
}
elseif(2000>=$x[$i]假设您拥有$employees
多维数组;在下面代码中生成,该代码为您提供薪资,并在高、低或好的情况下给出等级
这是代码
/**
* Function to calculate salary scale is high, good, low
* @param int $salary
* @return string
*/
function calculateSalaryScale($salary) {
if ($salary >= 3000) {
$scale = "High paying";
} else if (2000 <= $salary && $salary <= 2999 ) {
$scale = "Good paying";
} else {
$scale = "Low paying";
}
return $scale;
}
// Assuming your employyees array is like below
$employees = array(
array('emp_id' => 1, 'name' => 'John Doe', 'wage' => 90, 'hrs'=> 8),
array('emp_id' => 2, 'name' => 'Lorem Ipsum', 'wage' => 150, 'hrs'=> 6),
array('emp_id' => 3, 'name' => 'Doler amit', 'wage' => 50, 'hrs'=> 10),
);
foreach ($employees as &$employee) {
$employee['salary'] = $employee['wage'] * $employee['hrs'] * 4;
$employee['scale'] = calculateSalaryScale($employee['salary']);
}
echo "<pre>";
print_r($employees);
exit;
然后,您可以相应地继续使用$employees
数组。假设您拥有$employees
多维数组;该数组在代码下方生成,可为您提供薪资及其等级(如果是高、低或好)
这是代码
/**
* Function to calculate salary scale is high, good, low
* @param int $salary
* @return string
*/
function calculateSalaryScale($salary) {
if ($salary >= 3000) {
$scale = "High paying";
} else if (2000 <= $salary && $salary <= 2999 ) {
$scale = "Good paying";
} else {
$scale = "Low paying";
}
return $scale;
}
// Assuming your employyees array is like below
$employees = array(
array('emp_id' => 1, 'name' => 'John Doe', 'wage' => 90, 'hrs'=> 8),
array('emp_id' => 2, 'name' => 'Lorem Ipsum', 'wage' => 150, 'hrs'=> 6),
array('emp_id' => 3, 'name' => 'Doler amit', 'wage' => 50, 'hrs'=> 10),
);
foreach ($employees as &$employee) {
$employee['salary'] = $employee['wage'] * $employee['hrs'] * 4;
$employee['scale'] = calculateSalaryScale($employee['salary']);
}
echo "<pre>";
print_r($employees);
exit;
然后,您可以相应地继续使用$employees
数组。我认为您只需要一个foreach
循环来迭代$employees
数组中的每个员工:
foreach($employees as$employees){
$x=$employee['wage']*$employee['hrs'])*4;
如果($x>=3000){
呼应“高薪”;
}埃尔塞夫(2000=
我认为您只需要一个foreach
循环来迭代$employees
数组中的每个员工:
foreach($employees as$employees){
$x=$employee['wage']*$employee['hrs'])*4;
如果($x>=3000){
呼应“高薪”;
}埃尔塞夫(2000=
既然我的数组中已经设置了值,那该怎么办?我不是想用这个方程创建一个数组,我是想用一个集合数组中已有的值进行计算,并将它们放入文本中提到的方程中。@kari这只是建议您可以使用数组。如果您同意,请检查逻辑,然后单击绿色接受答案button@kari他正在使用你的阵列,在阵列中循环$x
是您的数组,$i
是您的索引指针,它准确地告诉您正在使用的值。这与构建一个新的数组无关。哦,这更有意义。对不起,我是新手,没问题。这就是为什么我通常反对只使用代码的答案。对于为什么所讨论的代码是一种有效的方法,我们应该给出一个最低限度的解释。既然我的数组中已经设置了值,那该怎么办呢?我不是想用这个方程创建一个数组,我是想用一个集合数组中已有的值进行计算,并将它们放入文本中提到的方程中。@kari这只是建议您可以使用数组。如果您同意,请检查逻辑,然后单击绿色接受答案button@kari他正在使用你的阵列,在阵列中循环$x
是您的数组,$i
是您的索引指针,它准确地告诉您正在使用的值。这与构建一个新的数组无关。哦,这更有意义。对不起,我是新手,没问题。这就是为什么我通常反对只使用代码的答案。对于为什么所讨论的代码是一种有效的方法,人们应该总是留下一个最小的解释。