3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str='my fictional favourite food is Jellof Rice with salted water but not too much sugar and some rice'; #$str='banana apple mango'; $words=array( 'food', 'water', 'salt' ); function findmatches( $str=false, $search=array()){ if( !empty( $str ) && !empty( $search ) ){ array_walk( $search, function( &$item ){ $item=preg_quote( $item, '@' ); }); $pttn=sprintf('@(\w%s)@',implode( '|', $search ) ); preg_match_all( $pttn, $str, $matches, PREG_OFFSET_CAPTURE ); return !empty( array_filter( $matches ) ) ? $matches[0] : false; } return false; } function showresults( $arr ){ if( !empty( $arr ) ){ foreach( $arr as $i => $v ){ printf('The word "%s" was found at position %s',$v[0],$v[1]); } } } $res=findmatches( $str, $words ); echo $res ? showresults($res) : 'Not found'; ?>
Output for git.master, git.master_jit, rfc.property-hooks
The word "salt" was found at position 48The word "water" was found at position 55

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
42.7 ms | 405 KiB | 5 Q