数组作为参数(PHP):错误:未定义的变量

时间:2014-03-13 16:37:27

标签: php arrays

我试图调用一个函数并将数组和其他变量传递给它。这是我用来做的代码:

function fnGetElementsById($ArrCols, $tableName, $id) {

    while($arrCols[$i])
    {
        if($i != 0)
        {
            $sql = $sql.',';
        }
        $sql = $sql.$arrCols[$i].' ';
        $i++;
    }  } 

while行是错误或通知行,当我用var_dump测试时,数组为空。

主叫代码:

$arrCols = array(
    0=>'marque', 
    1=>'prix'
);
$CDB->fnGetElementsById($arrCols, 'Portables', $_POST['id1']);

谢谢

2 个答案:

答案 0 :(得分:1)

在调用while循环之前,您尚未定义$i。因此,你基本上是在尝试这个:

while($arrCols[null]) {

此外,您的参数为$ArrCols,而while条件中的变量名称为$arrCols(小写首字母)。

你需要解决这两个问题。

答案 1 :(得分:0)

您遇到了个案问题。

function fnGetElementsById($ArrCols, $tableName, $id) {
    while($arrCols[$i])

应该是

function fnGetElementsById($arrCols, $tableName, $id) {
    while($arrCols[$i])

注意从ArrCols更改为arrCols

此外,您没有初始化$i变量。 请在使用前将其设置为0