Boyutlu dizinin Gösterge değerleri işlevinden returend

3 Cevap php
function sitemap_galerija($tablica)
{
    require("include/konekcija.php");

    if($tablica == 'kategorije')
    {
    	// Connect do database

        ...

    	while($row = mysql_fetch_array($sql_result))
    	{
    		$kategorija['naziv'][] = $row["naziv"];
    		$kategorija['naziv_url'][] = $row["naziv_url"];
    	}

    	return $kategorija;
    }	
}

I managed to print values of array but can't figure out how to handle with array keys. I would like the print to be like this:

$kategorije = sitemap_galerija('kategorije');

foreach($kategorije as $kat)
{  
    echo  "<li><a href='$kategorija[naziv_url]'>$kategorija[naziv]</a></li>";
}

Ile

3 Cevap

Sen $kategorija dizi anahtarları gibi normal numaralarını kullanmak ve her sayı için bir dizi zekâ naziv ve naziv_url tuşları olurdu istiyorum:

while($row = mysql_fetch_array($sql_result))
{
    // $kategorija['naziv'][] = $row["naziv"];
    // $kategorija['naziv_url'][] = $row["naziv_url"];
    $kategorija[] = array('naziv' => $row['naziv'], 'naziv_url' => $row['naziv_url']);
    // The following works as well, but then you store all the keys in the kategorija array and I don't know if that's what you want:
    // $kategorija[] = $row;
}

Sonra foreach döngü gibi bir şey olmak için ayarlayabilirsiniz:

foreach($kategorije as $kat)
{  
    echo  '<li><a href="' . $kat['naziv_url'] . '">' . $kat['naziv'] . '</a></li>';
}

Gerçekten naziv ve naziv_url, bu gelecekte size yardımcı olacak arasındaki ilişkiyi kaydetmek zorunda. Sadece bu gibi DB olsun:

$kategorija[$row['naziv_url']] = $row["naziv"];

ve sonra bu gibi bu dizi numaralandırabilmesidir:

foreach($kategorija as $naziv_url => $naziv) {
}

Her zaman anahtarları gibi eşsiz olduğunu biliyorum değerini kullanın, ben bu durumda benzersiz url gerekiyordu.

Siz hem paralel hem de dizileri yineleme için anahtara ihtiyacınız olacak:

for ($i=0, $n=count($kategorije['naziv_url']); $i<$n; ++$i) {
    echo  "<li><a href='".$kategorija['naziv_url'][$i]."'>".$kategorija['naziv'][$i]."</a></li>";
}