循环遍历数组中的字符串并将找到的字符串放入另一个数组中

时间:2013-05-14 14:59:13

标签: php arrays foreach strstr

我试图遍历$ files数组并且:

  1. 查找“some-string”的出现次数。
  2. 对于找到的每个“some-string”事件,我需要将它添加到数组中。 (即$ some_strings)。
  3. 最后能够在for循环之外调用$ some_string数组进行操作(即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]);
      }
    
    
    }
    
  4. 在尝试计数($ some_strings)之前,每件事似乎都能正常工作。当我知道至少有10个值时,这只返回1个值。我做错了什么?

2 个答案:

答案 0 :(得分:1)

试试这个

$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

答案 1 :(得分:0)

试试这个

 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);