gpt4 book ai didi

php - 比较值在 Php 数组中的位置

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

$commands = array();

for($p = 0; $p < $commandCount ; $p++){
$commands[$p] = $_POST['select'.$p];
}

所以我有这个 Array $commands。在这个数组中,存储了一个命令列表。我必须检查命令“标记”存储在哪个位置,以及它后面是否有某个命令。一些可以在 $commands 中的示例数据:“标记”、“忽略”、“选择”、“随机” 你会怎么做?

最佳答案

这里有一组测试用例的演示,以充分表达它的工作原理并识别边缘用例:( Demo Link )

*请注意,当找不到针时,array_search() 返回 false

$commands = array("mark", "ignore", "pick", "random");

$attempts = array("mark", "ignore", "pick", "random", "bonk");
foreach($attempts as $attempt){
echo "$attempt => ";
$index=array_search($attempt,$commands);
// vv---increment the value
if($index===false || !isset($commands[++$index])){ // not found or found last element
$index=0; // use first element
}
echo $commands[$index],"\n";
}

“或”(||) 条件将“短路”,因此如果 $indexfalse 它将退出条件不调用第二个表达式 (isset())。

输出:

mark => ignore
ignore => pick
pick => random
random => mark
bonk => mark

关于php - 比较值在 Php 数组中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48846566/

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