是否可以为关联数组创建搜索表单


Is it possible to create search form for associative Arrays?

所以,这里有几个数组;

$ljubimci_arr[]=array("naziv"=>"Stef","vrsta" => "Pas", "spol" => "M", "pasmina" => "vucjak","cijepljen" => "DA","chip" =>"HRV20140115001" );
$ljubimci_arr[]=array("naziv"=>"Mia","vrsta" => "Macka", "spol" => "Z", "pasmina" => "tazmanijska zvijer","cijepljen" => "DA", "chip" =>"HRV20140117002" );
$ljubimci_arr[]=array("naziv"=>"Jura","vrsta" => "Macka", "spol" => "M", "pasmina" => "ruska plava","cijepljen" => "NE", "chip" =>"HRV20140216003" );
$ljubimci_arr[]=array("naziv"=>"Thepas","vrsta" => "Pas", "spol" => "M", "pasmina" => "koker","cijepljen" => "DA", "chip" =>"HRV20140823004" );
$ljubimci_arr[]=array("naziv"=>"Rubick","vrsta" => "Macka", "spol" => "Z", "pasmina" => "skotski fold","cijepljen" => "DA", "chip" =>"HRV20140920005" );
$ljubimci_arr[]=array("naziv"=>"Svinjica","vrsta" => "Pas", "spol" => "Z", "pasmina" => "samojed","cijepljen" => "NE", "chip" =>"HRV20141007006" );
$ljubimci_arr[]=array("naziv"=>"Aron","vrsta" => "Pas", "spol" => "M", "pasmina" => "mastif","cijepljen" => "DA", "chip" =>"HRV20150102007" );

是否可以使用下面的表格为上面的数组创建搜索表格。我只想根据我在搜索表单中输入的值获得简单的url值。假设我想搜索关键字"naziv"的值,如果我写"Rubick"(naziv=>"Rubick),那么我会在url中获得值Rubick。

<form method="GET">
  Search Google:
  <input type="search" name="ljubimci_arr">
  <input type="submit"/>
</form>

我试着用这个例子作为工作材料,但没有成功。利用形式域搜索Php关联数组

if(isset($_GET['year']))
{
    if(array_key_exists($_GET['year'], $ages))
    {
         echo $ages[$_GET['year']];
    }
    else
    {
        echo 'Cannot find data';
    }
}    
?>
<form method="GET">
    <input type="text" name="year" value="1984" />
    <input type="submit" />
</form> 

谢谢!

此方法循环遍历数组的每个项,并将表单中的输入与键naziv的值进行比较。如果什么都没找到,它会打印出一条错误消息。

<form method="POST" action="">
    Search Google:
    <input type="search" name="ljubimci_arr">
    <input type="submit"/>
</form>
<?php
$ljubimci_arr[]=array("naziv"=>"Stef","vrsta" => "Pas", "spol" => "M", "pasmina" => "vucjak","cijepljen" => "DA","chip" =>"HRV20140115001" );
$ljubimci_arr[]=array("naziv"=>"Mia","vrsta" => "Macka", "spol" => "Z", "pasmina" => "tazmanijska zvijer","cijepljen" => "DA", "chip" =>"HRV20140117002" );
$ljubimci_arr[]=array("naziv"=>"Jura","vrsta" => "Macka", "spol" => "M", "pasmina" => "ruska plava","cijepljen" => "NE", "chip" =>"HRV20140216003" );
$ljubimci_arr[]=array("naziv"=>"Thepas","vrsta" => "Pas", "spol" => "M", "pasmina" => "koker","cijepljen" => "DA", "chip" =>"HRV20140823004" );
$ljubimci_arr[]=array("naziv"=>"Rubick","vrsta" => "Macka", "spol" => "Z", "pasmina" => "skotski fold","cijepljen" => "DA", "chip" =>"HRV20140920005" );
$ljubimci_arr[]=array("naziv"=>"Svinjica","vrsta" => "Pas", "spol" => "Z", "pasmina" => "samojed","cijepljen" => "NE", "chip" =>"HRV20141007006" );
$ljubimci_arr[]=array("naziv"=>"Aron","vrsta" => "Pas", "spol" => "M", "pasmina" => "mastif","cijepljen" => "DA", "chip" =>"HRV20150102007" );
if(isset($_POST['ljubimci_arr']))
{
    $found = 0;
    foreach($ljubimci_arr as $item) {
        if($item['naziv'] == $_POST['ljubimci_arr'])
        {
            print_r($item);
            $found = 1;
        }
    }
    if(!$found)
        echo "Cannot find data.<br>";
}
?>