这个问题可能很容易解决,但出于某种原因我似乎无法解决它。假设我的代码如下:
$elements = array('a', 'b', 'c', 'd');
$myValues = array(
'values' => array(
'a' => array(
'xx' => 3,
'yy' => ''
),
'b' => array(
'xx' => '',
'yy' => ''
),
'c' => array(
'xx' => 8.4,
'yy' => ''
),
'd' => array(
'xx' => 18.4,
'yy' => ''
)
)
);
foreach($elements as $elem)
{
if($myValues['values'][$elem]['xx'] != '')
{
if($myValues['values'][$elem]['xx'] < 6)
{
$myValues['values'][$elem]['yy'] = 'less than 6';
}
elseif($myValues['values'][$elem]['xx'] >= 6 && $myValues['values'][$elem]['xx'] < 15)
{
$myValues['values'][$elem]['yy'] = 'between 6 and 16';
}
else
{
$myValues['values'][$elem]['yy'] = 'greater than 15';
}
testFunc($myValues['values'][$elem]['xx']); // This is how I would call my function once I replace the code above
}
}
正如您在这里看到的,我所尝试的是基于某些条件更改$myValues ['values'] [$elem] ['yy']
的值。 我想要的是用执行相同操作的函数替换if elseif else
代码段。
我尝试了类似以下的代码:
function testFunc($xx)
{
if($xx < 6)
{
$yy = 'less than 6';
}
elseif($xx >= 6 && $xx < 15)
{
$yy = 'between 6 and 16';
}
else
{
$yy = 'greater than 15';
}
return $yy;
}
但是很明显这不会起作用,因为我没有在函数内部更改$myValues ['values'] [$elem] ['yy']
的值。
注意:我只想传递$myValues ['values'] [$elem] ['xx']
的值到函数内,并返回更改后的$myValues ['values'] [$elem] ['yy']
的值。
有人能帮帮我吗?
提前感谢。
testFunc
吗? - Amr Mostafa