pstein Posted April 7, 2012 Share Posted April 7, 2012 In a function of a php script there is the following code line: function convert_mails($source_path, $mail_file = '') { global $output_path; print "sp=$source_path"; // -- parameters must have a trailing backslash -- if ($source_path[strlen($source_path)] != '\\') $source_path .= '\\'; ... When running it yields the following error: sp=D:\storage\AABB.ACT\Archi0.FLD; Notice: Uninitialized string offset: 35 in D:\WAMP\www\test.php on line 67 where line 67 is the line with the "if" statement. So why and where is there an uninitialized string offset? How can I repair the code? Peter Quote Link to comment https://forums.phpfreaks.com/topic/260498-why-uninitialized-string-offset/ Share on other sites More sharing options...
litebearer Posted April 7, 2012 Share Posted April 7, 2012 is source_path an array? Quote Link to comment https://forums.phpfreaks.com/topic/260498-why-uninitialized-string-offset/#findComment-1335167 Share on other sites More sharing options...
kicken Posted April 7, 2012 Share Posted April 7, 2012 The last character of a string is at index strlen($string)-1, not strlen($string). function convert_mails($source_path, $mail_file = '') { global $output_path; print "sp=$source_path"; // -- parameters must have a trailing backslash -- $last = strlen($source_path)-1; if ($source_path[$last] != '\\') $source_path .= '\\'; ... Quote Link to comment https://forums.phpfreaks.com/topic/260498-why-uninitialized-string-offset/#findComment-1335169 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.