Dizi için bir öğe eklemek için nasıl

3 Cevap php

Hmm.. thats realy different problem I fetch $links from db linke this

$ Bağlantılar = $ db-> GetAll ("SELECT * {$tables['link']['name']} WHERE STATUS = '2 'AND CATEGORY_ID =". $ Db-> qstr ($ .) id) "{$sort_cols[$sort]} {$ sort_ord [$ sort]} {$ limit} TARAFINDAN {$ feat_where} {$ expire_where} SİPARİŞ";

Dizi bu gibi görünüyor

array(28) {
    ["ID"]=>
    string(1) "3"
    ["TITLE"]=>
    string(6) "Google"
    ["DESCRIPTION"]=>
    string(6) "Google"
    ["URL"]=>
    string(21) "http://www.google.com"
    ["CATEGORY_ID"]=>
    string(1) "2"
    ["RECPR_URL"]=>
    string(0) ""
    ["RECPR_REQUIRED"]=>
    string(1) "0"
    ["STATUS"]=>
    string(1) "2"
    ["VALID"]=>
    string(1) "1"
    ["RECPR_VALID"]=>
    string(1) "1"
    ["OWNER_ID"]=>
    NULL
    ["OWNER_NAME"]=>
    string(0) ""
    ["OWNER_EMAIL"]=>
    string(0) ""
    ["OWNER_NOTIF"]=>
    string(1) "0"
    ["DATE_MODIFIED"]=>
    string(19) "2009-11-27 13:30:07"
    ["DATE_ADDED"]=>
    string(19) "2009-11-27 13:30:07"
    ["HITS"]=>
    string(1) "0"
    ["LAST_CHECKED"]=>
    NULL
    ["RECPR_LAST_CHECKED"]=>
    NULL
    ["PAGERANK"]=>
    string(2) "0"
    ["RECPR_PAGERANK"]=>
    string(2) "-1"
    ["FEATURED_MAIN"]=>
    string(1) "0"
    ["FEATURED"]=>
    string(1) "0"
    ["EXPIRY_DATE"]=>
    NULL
    ["NOFOLLOW"]=>
    string(1) "0"
    ["PAYED"]=>
    string(2) "-1"
    ["LINK_TYPE"]=>
    string(1) "0"
    ["IPADDRESS"]=>
    string(13) "80.219.78.155"
  }

I have a function which returns the pagerank of a given url GooglePagerank($url);

now how can i add the pagerank to the above array and assign them to smarty? Thanks

3 Cevap

hmm .. bu düşündüğüm kadar kolay oldu

 for($i=0;$i<count($links);$i++)
      {
        $links[$i]["PAGERANK"] = GooglePagerank($links[$i]["URL"]);
      }

thats

sonucunda

 array(28) {
    ["ID"]=>
    string(1) "3"
    ["TITLE"]=>
    string(6) "Google"
    ["DESCRIPTION"]=>
    string(6) "Google"
    ["URL"]=>
    string(21) "http://www.google.com"
    ["CATEGORY_ID"]=>
    string(1) "2"
    ["RECPR_URL"]=>
    string(0) ""
    ["RECPR_REQUIRED"]=>
    string(1) "0"
    ["STATUS"]=>
    string(1) "2"
    ["VALID"]=>
    string(1) "1"
    ["RECPR_VALID"]=>
    string(1) "1"
    ["OWNER_ID"]=>
    NULL
    ["OWNER_NAME"]=>
    string(0) ""
    ["OWNER_EMAIL"]=>
    string(0) ""
    ["OWNER_NOTIF"]=>
    string(1) "0"
    ["DATE_MODIFIED"]=>
    string(19) "2009-11-27 13:30:07"
    ["DATE_ADDED"]=>
    string(19) "2009-11-27 13:30:07"
    ["HITS"]=>
    string(1) "0"
    ["LAST_CHECKED"]=>
    NULL
    ["RECPR_LAST_CHECKED"]=>
    NULL
    ["PAGERANK"]=>
    string(2) "10"
    ["RECPR_PAGERANK"]=>
    string(2) "-1"
    ["FEATURED_MAIN"]=>
    string(1) "0"
    ["FEATURED"]=>
    string(1) "0"
    ["EXPIRY_DATE"]=>
    NULL
    ["NOFOLLOW"]=>
    string(1) "0"
    ["PAYED"]=>
    string(2) "-1"
    ["LINK_TYPE"]=>
    string(1) "0"
    ["IPADDRESS"]=>
    string(13) "80.219.78.155"
  }

Eğer geçerli benzersiz bir anahtar adı tanımlamak eğer, [] operatörü ile diziye yeni öğeleri ekleyebilirsiniz. Sizin veri $ bağlantılar dizisinde saklanır. Sadece bu gibi ekleyin:

$links['PAGERANK'] = $yourPageRankvar;

Senin durumunda böyle bir şey olacaktır:

$links['PAGERANK'] = GooglePagerank($links["URL"]);

Bu gibi Smarty atamak:

$smarty->assign('name', $links);

Örneğin, GooglePagerank() $array['pagerank'] için sonucu atayabilirsiniz?