问题描述
我想检查数组中是否存在值并打印一个随机值,但是它给出了未定义的索引错误
这是代码
<?PHP
$agents = array(9986344xxx,9663275yyy);
function agent(){
global $agents;
if (in_array(9986344xxx,$agents) || in_array(9663275yyy,$agents)) {
$random = array_rand($agents);
echo $agents[$random[0]];
}
else{
echo "notfound";
}
}
agent();
解决方法
array_rand(array $array [,int $num = 1 ])
返回一个键数组,如果定义了$num
,则返回1,或者返回单个值。
由于您未设置第二个参数,因此它将返回一个数字值,即数组随机选择的数字键0或1。
更改您的代码以解决该问题:
$agents = array('9986344xxx','9663275yyy');
function agent(){
global $agents;
if (in_array('9986344xxx',$agents) || in_array('9663275yyy',$agents)) {
$random = array_rand($agents);
echo $agents[$random]; // <------------- notice this
}
else{
echo "notfound";
}
}
agent();