0

Hi everyone.

I'd like to know if anyone can help.

I'm trying to write a code that looks for a number in a string which is a semicolon separated list.

Example:

I have the number 10456 stored in one variable.

I have the results of a MySQL datafield which contains

10001;10002;10003;10004;10005;10006;10007;10008;10009;10010;10011;10012;10013;10014;10015; 10016;10017;10018;10019;10020;10021;10022;10023;10024;10025;10026;10027;10028;10029;10030; 10031;10032;10033;10034;10035;10036;10037;10038;10039;10040;10041;10043;10044;10045;10046; 10047;10048;10055;10060;10069;10072;10079;10080;10081;10082;10087;10090;10094;10095;10096; 10098;10099;10101;10102;10103;10104;10105;10106;10107;10108;10109;10110;10111;10112;10113; 10114;10115;10116;10117;10118;10119;10120;10121;10122;10123;10124;10125;10126;10128;10129; 10130;10131;10132;10133;10138;10149;10150;10151;10152;10153;10154;10155;10156;10157;10158; 10159;10160;10161;10162;10163;10164;10165;10166;10167;10168;10169;10170;10171;10172;10173; 10174;10175;10176;10177;10178;10179;10184;10185;10196;10197;10199;10203;10211;10212;10213; 10242;10249;10256;10257;10258;10259;10260;10261;10265;10268;10269;10270;10271;10272;10273; 10274;10275;10276;10277;10278;10279;10280;10281;10282;10285;10286;10292;10301;10302;10303; 10304;10305;10306;10307;10308;10309;10310;10311;10312;10313;10314;10451;10452;10453;10454; 10455;10456;10457;10458;10459;10460;10461;10462;10463;10464;10465;10466;10467;10468;10469; 10470;10471;10472;10473;10474;10475;10499;11004;11005;11101;11102;11103;11104;11105;11106; 11109;11120;11201;11202;11203;11204;11205;11206;11207;11208;11209;11210;11211;11212;11213; 11214;11215;11216;11217;11218;11219;11220;11221;11222;11223;11224;11225;11226;11228;11229; 11230;11231;11232;11233;11234;11235;11236;11237;11238;11239;11240;11241;11242;11243;11244; 11245;11247;11248;11249;11251;11252;11254;11255;11256;11351;11352;11354;11355;11356;11357; 11358;11359;11360;11361;11362;11363;11364;11365;11366;11367;11368;11369;11370;11371;11372; 11373;11374;11375;11377;11378;11379;11380;11381;11385;11386;11390;11405;11411;11412;11413; 11414;11415;11416;11417;11418;11419;11420;11421;11422;11423;11424;11425;11426;11427;11428; 11429;11430;11431;11432;11433;11434;11435;11436;11439;11451;11484;11499;11690;11691;11692; 
11693;11694;11695;11697

As you can see, 10456 is indeed inside that field. But I can't find a function that will work for the life of me as they all fail to find what it is I'm looking for.

Can anyone help?

2
Contributors
1
Reply
2
Views
7 Years
Discussion Span
Last Post by Triztian
1

This is done by exploding the array, assuming that the data will remain as a string, so we use the explode(); function

<?php
   function search($raw_string,$key)
   {
      var $string_array; //Array in which the exploded string will be stored
      var $pos=0;        //Gets the position of the $key in the array
      
      $string_array=explode(";",$string); //explode the string BOOM!!
      
      foreach($string_array as $value )
          if( strcasecmp($value,$key)!=0 )
             $pos++;   //increment pos so we can keep track of the position
      
       if( $pos >-1 )
          return $pos;   //Return the position if found.
       else
          return -1;      //Return -1 if not found.
    }
 
 
 
?>
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.