在csv中查找数值

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.