日期:2014-05-17  浏览次数:20360 次

自定义函数参数是数组
就是那个参数是数组
PHP code
function isNothing($a){
    
    echo $a[1];
    for($i=0;$i<count($a);$i++){
        echo $a[2]."<br>";
    }
}

由于$a我传的是一个数组,故会报错
Notice: Undefined offset: 1 in D:\xampp\htdocs\index.php on line 14

请问参数是数组时怎么办?
不要说用global。因为数组不定

------解决方案--------------------
传递数组没有下标为1的元素
------解决方案--------------------
不知道你要达到什么目的
或许这样符合你的要求
PHP code
function isNothing($a){
  if(count($a) < 3) return;
  $a = array_values($a);
  echo $a[1];
  for($i=0;$i<count($a);$i++){
    echo $a[2]."<br>";
  }
}

------解决方案--------------------
数组的下标不存在,用个翻译软件翻译一下就能明白了
------解决方案--------------------
echo $a[1];
下面还有个
 echo $a[2];
结果您的$a只有一个元素,于是悲剧了
------解决方案--------------------
var_dump($a);
先看看$a是什么样的格式。
if(is_array($a))
{
$a = $a[0];//最起码是数组肯定有下标0的
}
------解决方案--------------------
楼上说的不对,非序列的php数组是可以没有下标0的