rbragg Posted December 12, 2007 Share Posted December 12, 2007 I'm getting the PHP Notice: Undefined offset: error. I am developing a pdf and the problem arises when I wordwrap(). You have to tell the pdf to wrap because new lines are not automatically created, nor are they able to be created with (concatenated) html. The offset number will ALWAYS be the last line. Here is my script: <?php $display = pdf_findfont($pdf, "Courier", "host", 0); pdf_setfont($pdf, $threeC, ; pdf_show_xy($pdf, " ", 40, 694); $stringWrapped = wordwrap($string, 115, "|"); $array = explode("|", $stringWrapped); $i = 0; while ($array[$i] != "") { pdf_continue_text($pdf, $array[$i]); $i++; } ?> So, if this script counts 4 lines, I will get: PHP Notice: Undefined offset: 4. How can I keep from getting this error other than turning them off on the server? Thanks. Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted December 12, 2007 Share Posted December 12, 2007 Use a foreach or a for loop instead of the while loop: Foreach: <?php $display = pdf_findfont($pdf, "Courier", "host", 0); pdf_setfont($pdf, $threeC, ; pdf_show_xy($pdf, " ", 40, 694); $stringWrapped = wordwrap($string, 115, "|"); $array = explode("|", $stringWrapped); foreach ($array as $txt) if ($txt != "") pdf_continue_text($pdf, $txt); ?> For: <?php $display = pdf_findfont($pdf, "Courier", "host", 0); pdf_setfont($pdf, $threeC, ; pdf_show_xy($pdf, " ", 40, 694); $stringWrapped = wordwrap($string, 115, "|"); $array = explode("|", $stringWrapped); for ($i=0;$i<count($array);$i++) if ($array[$i] != "") pdf_continue_text($pdf, $array[$i]); ?> Ken Quote Link to comment Share on other sites More sharing options...
rbragg Posted December 12, 2007 Author Share Posted December 12, 2007 The foreach was perfect! Thanks. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.