smordue Posted December 16, 2009 Share Posted December 16, 2009 I am using the following code, if there is data in the line it works fine, if there is no data in the line it still prints <li></li><li>|</li>, Could this have to do with the \n in the filewrite? <? $file = file('basedata.txt'); if(!empty($lines[3])) { echo "<li>" . $lines[3] . "</li>" ; echo "<li>|</li>"; } ?> basedata.txt: A Company Name We are the best 123 Pine Street Tampa FL 33509 Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/ Share on other sites More sharing options...
mrMarcus Posted December 16, 2009 Share Posted December 16, 2009 where is $lines being defined? Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978514 Share on other sites More sharing options...
smordue Posted December 16, 2009 Author Share Posted December 16, 2009 Should $file = file('basedata.txt'); be $lines = file('basedata.txt'); ? I thought I had tried that... Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978520 Share on other sites More sharing options...
smordue Posted December 16, 2009 Author Share Posted December 16, 2009 Also, it works if there is data in the line Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978527 Share on other sites More sharing options...
rajivgonsalves Posted December 16, 2009 Share Posted December 16, 2009 Yes that is due to the newline, I would suggest the following <?php $lines = file('basedata.txt'); $lines[3] = preg_replace("#[\r\n]+$#", '', $lines[3]); if(!empty($lines[3])) { echo "<li>" . $lines[3] . "</li>" ; echo "<li>|</li>"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978529 Share on other sites More sharing options...
smordue Posted December 16, 2009 Author Share Posted December 16, 2009 That's what I needed, thanks alot Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978534 Share on other sites More sharing options...
salathe Posted December 16, 2009 Share Posted December 16, 2009 You can pass a few flags to the file function and one of those will be particularly useful here. $lines = file("basedata.txt", FILE_IGNORE_NEW_LINES); if ( ! empty($lines[3])) { echo "<li>$lines[3]</li><li>|</li>"; } Bear in mind that empty will return true for more than just a zero-length string (e.g. "0"). Quote Link to comment https://forums.phpfreaks.com/topic/185358-empty-not-empty/#findComment-978735 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.