2016-09-15 6 views
-2

問題は、検索フレーズのフルネームを入力する必要があることにあります。 これでstrposを使用できますか?配列内のforeachの検索でstrposを使用する方法

if ($filter && $searchOption && $searchPhrase && $sortField == "createDate" && $order == "asc") { 
     usort($caseList, function ($a, $b) { 
      /* @var $a CMCase */ 
      /* @var $b CMCase */ 
      $time1 = strtotime($a->createDate); 
      $time2 = strtotime($b->createDate); 
      return $time1 > $time2; 
     }); 

     } else if ($filter && $searchOption == "search_customer" && $searchPhrase && $sortField && $order) { 

     $list = $caseList; 
     $caseList = array(); 
     foreach ($list as $case) { 
      if ($case->customerName == $searchPhrase) { 
       $caseList[] = $case; 
      } 
     } 
    } 
+0

何を期待されているものを入力すると?いくつかのデータを与える。 –

+0

あなたがしたいことをさらに説明してください。 – KhorneHoly

+0

達成したいサンプル入力と出力を提供してください。 – Dmytrechko

答えて

0

これは私のソリューションです:

// Searching 
    { 
     if ($filter && $searchOption == "search_customer" && $searchPhrase && $sortField && $order) { 

      $list = array(); 
      foreach ($caseList as $case) { 
       if (stripos($case->customerName,$searchPhrase)!== FALSE) { 
        $list[] = $case; 
       } 
      } 
      $caseList = $list; 

     } else if ($filter && $searchOption == "search_request" && $searchPhrase && $sortField && $order) { 

      $list = array(); 
      foreach ($caseList as $case) { 
       if (stripos($case->identifier,$searchPhrase)!== FALSE) { 
        $list[] = $case; 
       } 
      } 
      $caseList = $list; 
     } 
    } 
0

あなたはこのようなあなたのコードを書き換えることができます。

$result = array_filter($caseList, function($case) use ($searchPhrase){ 
    return stripos($case->customerName, $searchPhrase) !== FALSE; 
}) 

しかし、あなたはまだ、より具体的にする必要があります。 !大文字と小文字を区別しない検索にstriposを使用しました。 manual

P.S.を参照してください。ちょうどあなたのコードの代わりにこれを試してみてください。

if ($searchOption == "search_customer" && $searchPhrase) use ($searchPhrase) { 
    $list = array_filter($caseList,function($case) { 
     return stripos($case->customerName, $searchPhrase) !== false; 
    }); 
} 
+0

ありがとう助けてくださいOkey私はこのような私のコードを書き直そうとしますが、どこに$ searchPhraseを挿入できるのですか? – Adrian

+0

私は私の答えを編集しました – Dmytrechko

+0

私の質問を編集しましたが、私のコードを書き直しました。 ? – Adrian

関連する問題