I need to check if a particular numeric id is in a given string or comma separated values.
$myVal = 20;
String could contain just a single value of several, separated by commas
$str = 20;
// $str = 20, 33, 5;
// $str = 220, 33, 5, 4420;
Originally I thought of using strpos, but 20 could be found in 22, or 4420, in the example above...
Use in_array and explode:
$str = '10, 20, 30, 40';
if(in_array(20, explode(', ', $str))) echo 'In Array';
else echo 'Not In Array';
Note that I am using the numeric 20 because it will equal the ' 20' value. If I used '20', it will not match ' 20'.
You could use explode to split the string into an array. Something like:
$parts = explode(',', $str);
Then you could use in_array on that.
If you're reading a file, take a look at fgetcsv or str_getcsv.