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

数组作为参数(PHP):错误:未定义变量,php,arrays,Php,Arrays,我试图调用一个函数,并将数组和其他变量传递给它。这是我用来做这件事的代码: function fnGetElementsById($ArrCols, $tableName, $id) { while($arrCols[$i]) { if($i != 0) { $sql = $sql.','; } $sql = $sql.$arrCols[$i].' '; $i++;

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

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']);

谢谢

在调用while循环之前,您还没有定义
$i
。因此,您基本上是在尝试:

while($arrCols[null]) {
另外,您的参数是
$ArrCols
,while条件中的变量名是
$ArrCols
(小写首字母)

您需要解决这两个问题。

您遇到了案例问题

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

function fnGetElementsById($arrCols, $tableName, $id) {
    while($arrCols[$i])
请注意从
ArrCols
更改为
ArrCols

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

是否有错误消息?它说什么?未定义的变量…这是一个通知,但我得到的数组是空的。这就是问题所在哦,你还想做什么?您正在尝试将数组传递到函数中,并将函数的结果传递到数组中。这真的没有什么意义。是
$arrCols
还是
$arrCols
?@user3375869:你看到参数的名称和
,而
条件使用了不同的大小写吗?我定义了$I,只是没有用这个问题复制它。但是对于“Arr”和“Arr”。你是对的,现在它起作用了。谢谢,就这样。谢谢