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 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? 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 .= '\\'; ... Link to comment https://forums.phpfreaks.com/topic/260498-why-uninitialized-string-offset/#findComment-1335169 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.