gpt4 book ai didi

php - 将部分代码转换为函数 php

转载 作者:搜寻专家 更新时间:2023-10-31 20:49:18 25 4
gpt4 key购买 nike

这可能很容易做到,但出于某种原因我似乎无法弄清楚。假设我有这样的代码:

$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'] 的值。

谁能帮我解决这个问题?

提前致谢

最佳答案

编辑:重新看题,乍一看好像理解错了。这里似乎不需要引用。这行不通吗?

foreach ($elements as $element) {
$myValues['values'][$element]['yy'] = testFunc($myValues['values'][$element]['xx']);
}

同样,如果 $elements 始终与 array_keys($myValues['values']) 相同,您可以使用引用:

foreach ($myValues['values'] as &$value) {
$value['yy'] = testFunc($value['xx']);
}

关于php - 将部分代码转换为函数 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9934316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com