Looping through an array for strings and putting the found strings into another array [closed]

StackOverflow https://stackoverflow.com/questions/16546583

  •  29-05-2022
  •  | 
  •  

Question

Im trying to loop through the $files array and:

  1. Find occurrences of "some-string".
  2. For every "some-string" occurrence found, i need to add it to an array. (ie. $some_strings).
  3. Finally be able to call $some_string array outside of the for loop for manipulation(ie. count(), $some_string[1])

    foreach($files as $key=>$value)
    {
    if(strstr($value,'some-string')){
        $some_strings = array();
        $some_strings = $files[$key];
        unset($files[$key]);
    } elseif (strstr($value,'php')) {
        unset($files[$key]);
      }
    
    
    }
    

Every things seems to work fine until i try count($some_strings). This only returns 1 value when i know there are atleast 10 values. WHat am i doing wrong?

Was it helpful?

Solution

Try this

$some_strings = array();
foreach($files as $key=>$value)
{
    if(strstr($value,'some-string')){
       $some_strings[] = $files[$key];
       unset($files[$key]);
    } elseif (strstr($value, 'php')) {
      unset($files[$key]);
    }
}
//Now you can use $some_strings here without a problem

OTHER TIPS

Try this

 foreach($files as $key=>$value)
 {
   if(strstr($value,'some-string'))
   {
     $some_strings[$key] = $value;
      unset($files[$key]);
   } elseif (strstr($value,'php')) 
   {
     $another_strings[$key] = $value;
      unset($files[$key]);
   }
 }

 echo count( $some_strings);
 echo count( $another_strings);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top