gpt4 book ai didi

php - 如何在 PHP 中以不同的顺序调用函数?

转载 作者:可可西里 更新时间:2023-10-31 23:41:21 26 4
gpt4 key购买 nike

我正在制作一种将用户分组的方法,并且需要一种方法来检查它们。例如,我有一个检查性别的方法,如果没有性别失衡则返回 true,如果有则返回 false。我也有类似的方法来检查年龄分布和检查性别。对于这些方法中的每一种,我都有一个方法可以生成优化的组数组。

即我有一种根据性别优化组的方法。如果相应的检查返回 false,我只会调用其中一种方法。我遇到的问题是,当我根据特定标准(即性别)优化组时,新的优化组有可能搞砸了另一个检查标准。

例如,如果我检查年龄、性别和技能水平(我的第三次检查)并且我发现年龄不平衡,继续根据年龄优化组,那么我可能会弄乱性别或技能水平分布。我对这个问题的解决方案是,如果我能找到一种方法来调用检查方法的所有变体,并在检查所有方法返回 true 时中断(所有检查返回 true,所有组的年龄、性别和技能水平都有很好的平衡)。

例如:设 A、B 和 C 为检查方法,optimize_A、optimize_B、optimize_C 为 make optimized group 方法。我需要某种方式循环检查方法 3!次(因为有 3 种检查方法,我需要运行 ABC、ACB、BAC、BCA、CAB、CBA)。或者我可以做一个 while 循环,如果方法 check all () 返回 true(所有检查都返回 true,都具有良好的分布)并且一旦我运行了检查方法的所有组合就中断。

谁能帮我解决这个问题?请记住,我是一名新手程序员,以前从未做过这样的事情。谢谢

编辑:

我怎样才能在 php 中执行类似此 JavaScript 代码片段的操作?

var arr = [check1, check2, check3],
rand = Math.floor(Math.random() * arr.length),
func = arr[rand];
func();

这是我的尝试:

<?php

$checks_to_run = array('check_gender','check_age','check_skill_level');
$rand = floor(rand(0, count($checks_to_run) - 1));
$func = $checks_to_run[$rand];
echo $this->.$func.($tmp); // $tmp is an array of groups

?>

最佳答案

几乎成功了,只需删除末尾的点即可。

$checks_to_run = array('check_gender','check_age','check_skill_level');
$rand = floor(rand(0, count($checks_to_run) - 1));
$func = $checks_to_run[$rand];
echo $this->$func($tmp); // $tmp is an array of groups

关于php - 如何在 PHP 中以不同的顺序调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728444/

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