Php 我想检查数组中是否存在值并打印一个随机值,但它给出了未定义的索引错误

Php 我想检查数组中是否存在值并打印一个随机值,但它给出了未定义的索引错误,php,arrays,undefined-index,Php,Arrays,Undefined Index,我想检查数组中是否存在值并打印一个随机值,但它给出了未定义的索引错误 这是密码 <?php $agents = array(9986344xxx,9663275yyy); function agent(){ global $agents; if (in_array(9986344xxx,$agents) || in_array(9663275yyy, $agents)) { $random = array_rand($agents); ec

我想检查数组中是否存在值并打印一个随机值,但它给出了未定义的索引错误

这是密码

<?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();
返回一个键数组(如果定义了
$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();
$agents=array('9986344xxx','9663275yyyy');
函数代理(){
全球代理;
if(在_数组中('9986344xxx',$agents)|在_数组中('9663275yyy',$agents)){
$random=阵列随机数($agents);
echo$代理[$随机]//