note 93887 added to function.strpos

From: Date: Mon, 05 Oct 2009 16:05:46 +0000
Subject: note 93887 added to function.strpos
Groups: php.notes 
Request: Send a blank email to php-notes+get-161367@lists.php.net to get a copy of this message
This function finds postion of nth occurence of a letter starting from offset. <?php function nth_position($str, $letter, $n, $offset = 0){ $str_arr = str_split($str); $letter_size = array_count_values(str_split(substr($str, $offset))); if( !isset($letter_size[$letter])){ trigger_error('letter "' . $letter . '" does not exist in ' . $str . ' after ' . $offset . '. position', E_USER_WARNING); return false; } else if($letter_size[$letter] < $n) { trigger_error('letter "' . $letter . '" does not exist ' . $n .' times in ' . $str . ' after ' . $offset . '. position', E_USER_WARNING); return false; } for($i = $offset, $x = 0, $count = (count($str_arr) - $offset); $i < $count, $x != $n; $i++){ if($str_arr[$i] == $letter){ $x++; } } return $i - 1; } echo nth_position('foobarbaz', 'a', 2); //7 echo nth_position('foobarbaz', 'b', 1, 4); //6 ?> ---- Server IP: 209.41.74.194 Probable Submitter: 78.167.198.120 ---- Manual Page -- http://www.php.net/manual/en/function.strpos.php Edit -- https://master.php.net/note/edit/93887 Del: integrated -- https://master.php.net/note/delete/93887/integrated Del: useless -- https://master.php.net/note/delete/93887/useless Del: bad code -- https://master.php.net/note/delete/93887/bad+code Del: spam -- https://master.php.net/note/delete/93887/spam Del: non-english -- https://master.php.net/note/delete/93887/non-english Del: in docs -- https://master.php.net/note/delete/93887/in+docs Del: other reasons-- https://master.php.net/note/delete/93887 Reject -- https://master.php.net/note/reject/93887 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#161367) next »