为什么使用带有数组的 foreach 的 php 函数不起作用?

Why does this php function using foreach with an array not work?

我正在尝试使用 PHP 中的以下函数编写 FDF 文件的 fieldname/value 行。第一个 "hey there" 打印,但其他 none 打印。我刚开始使用 PHP,非常感谢任何帮助。

function writeFDFTextboxLines($reportNameToFieldNumsArray, $reportName, $fileHandle, $value) {
    echo "hey there <br />";
    $valuesArray = $reportNameToFieldNumsArray[$reportName];
    foreach($valuesArray as $fieldNums) {
        echo "hey there <br />";
        foreach($fieldNums as $fieldNum) {
            echo "hey there <br />";
            if(strlen($fieldNum) > 0) {
                echo "hey there <br />";
                fwrite($filehandle, '<< /T (' . $reportName . "Textbox" . $reportNameToFieldNumsArray[$reportName] . ') /V /(' . $value . ')>>' . "\n");
            }
        }
    }
}

$reportNameToFieldNumsArray 示例是

$firstnameLastnameArray = array("report1" => array("1"), "report2" => array("1"), "report3" => array("1"), "report4" => array("1"), "report5" => array("1"), "report6" => array("1"), "report7" => array(), "report8" => array(), "report9" => array(), "report10" => array("1"), "report11" => array("1"), "report12" => array("1"), "report13" => array("1"), "report14" => array("1"), "report15" => array("1"), "report16" => array("6"), "report17" => array("1"),  "report18" => array("1"));

您的 $valuesArray 包含 array("1"),因此您的第一个 foreach 循环数组。但是 $fieldNums 不是数组。尝试var_dump($fieldNums),看看它包含什么。看来你不需要嵌入foreach。