【问题标题】:PHP Array searchPHP 数组搜索
【发布时间】:2015-09-10 09:20:18
【问题描述】:

我需要一个带有数组的搜索系统:

        $ArrayNotes = array 
            (
              0 => array ('titre' => 'Hello all','ref' => 'aa','date' => 'aa','like' => 0,'url' => 'aa',),
              1 => array ('titre' => 'Hello the world','ref' => 'aa','date' => 'aa','like' => 0,'url' => 'aa',),
            );

如果在数组中它包含“Hello”,那么我希望它显示两个数组:Hello all & Hello the world。

示例:

//For example :
       // In my url : ?search=Hello OR ?search=Hel
        $my_var_search = $_POST['search'];
        array_search($ArrayNotes,$my_var_search);

    foreach ($ArrayNotes as $key => $row ) 
     {
       $my_var_search = $_POST['search'];
       array_search($ArrayNotes,$my_var_search);
       echo $titre[$key];
      }

显示:

大家好,世界你好

感谢您的帮助!

【问题讨论】:

  • 您自己尝试过吗?如果是这样,请在问题中包含您的代码和可能出现的错误。
  • 发布您的预期输出以及您的尝试
  • 看例子,谢谢!

标签: php arrays search


【解决方案1】:

这会打印出一个包含原始数组行的数组,其中 'titre' 包含 "Hello" needle。

 $ArrayNotes = array 
            (
              0 => array ('titre' => 'Hello all','ref' => 'aa','date' => 'aa','like' => 0,'url' => 'aa',),
              1 => array ('titre' => 'Hello the world','ref' => 'aa','date' => 'aa','like' => 0,'url' => 'aa',),
              2 => array ('titre' => 'Not contain the word','ref' => 'aa','date' => 'aa','like' => 0,'url' => 'aa',),
            );
$arrayOk = array();
$hello = "Hello";
for ($i=0; $i<count($ArrayNotes);$i++) {
    if (stristr($ArrayNotes[$i]['titre'],$hello)) {
        $arrayOk[$i] = $ArrayNotes[$i];
    }
        }
print_r($arrayOk);

打印出来:

foreach ($arrayOk as $value) {
    echo $value['titre']." ";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2015-05-27
    • 2016-04-01
    • 1970-01-01
    • 2012-11-03
    • 2014-06-27
    相关资源
    最近更新 更多