为什么使用带有数组的 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。
我正在尝试使用 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。