需要一个代码在选项之间随机选择
问题描述:
我有一个代码可以从一个组中选择4个选项并将其放入一个字符串中,但我在那里遇到了一些问题。
这些都是我的默认数据:需要一个代码在选项之间随机选择
$PID[1] = "PID1";
$PID[2] = "PID2";
$PID[3] = "PID3";
$PID[4] = "PID4";
$CID[1] = "CID1";
$CID[2] = "CID2";
$CID[3] = "CID3";
$CID[4] = "CID4";
我创建一个名字Loops.php一个文件,并把这些代码是:
$Also = "1";
while (isset($PID[$Also])) {
echo '"'.$CID[$Also]."/".$PID[$Also].".php".'"';
$Also++;
if (isset($PID[$Also])) {
echo ", ";
}
}
,然后我在主要页面中使用此代码:
$input = array(include 'Loops.php');
$rand_keys = array_rand($input, 4);
$A = $input[$rand_keys[0]];
$B = $input[$rand_keys[1]];
$C = $input[$rand_keys[2]];
$D = $input[$rand_keys[3]];
但是当我回应任何最后的字符串它不起作用。
如果有人能帮助我,我将不胜感激。
答
这不是你应该如何在while
循环中构建路径数组,而是使用一个函数并将该循环放入该函数中。随后,使用while
循环内的数组并循环添加路径。最后,分别包含Loops.php
,不在array(...);
之内。所以,你在Loops.php页面代码会是这样的:
$PID[1] = "PID1";
$PID[2] = "PID2";
$PID[3] = "PID3";
$PID[4] = "PID4";
$CID[1] = "CID1";
$CID[2] = "CID2";
$CID[3] = "CID3";
$CID[4] = "CID4";
function constructPathArr($PID, $CID, $Also){
$pathArr = array();
while (isset($PID[$Also])) {
$pathArr[] = $CID[$Also]."/".$PID[$Also].".php";
$Also++;
}
return $pathArr;
}
,并在主网页的代码会是这样:
include 'Loops.php';
$input = constructPathArr($PID, $CID, 1);
$rand_keys = array_rand($input, 4);
$A = $input[$rand_keys[0]];
$B = $input[$rand_keys[1]];
$C = $input[$rand_keys[2]];
$D = $input[$rand_keys[3]];
非常感谢它的工作非常出色。 –
@MohammadZahed不客气!很高兴我能帮上忙。 :-) –