Как добавить элемент в массив
Вопрос
Хм .. это действительно другая проблема Я получаю $ ссылки из БД линке это
$ links = $ db- > GetAll (" SELECT * FROM {$ tables ['link'] ['name']}
WHERE STATUS
= ' 2 'AND CATEGORY_ID
= ". $ Db-> qstr ($ id). & Quot; {$ feat_where} {$ expire_where} ORDER BY {$ sort_cols [$ sort]}
{$ sort_ord [$ sort]} {$ limit} ");
Массив выглядит так
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"
}
У меня есть функция, которая возвращает PageRank данного URL GooglePagerank ($ URL);
Теперь, как я могу добавить pagerank к вышеуказанному массиву и назначить их smarty? Спасибо
Решение 2
хм .. это было проще, как я думал
for($i=0;$i<count($links);$i++)
{
$links[$i]["PAGERANK"] = GooglePagerank($links[$i]["URL"]);
}
Вот и все
как результат
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"
}
Другие советы
Вы можете добавить новые элементы в массив с помощью оператора [], если вы определили правильное уникальное имя ключа. Ваши данные хранятся в массиве $ links. Просто добавьте это так:
$links['PAGERANK'] = $yourPageRankvar;
В вашем случае это будет примерно так:
$links['PAGERANK'] = GooglePagerank($links["URL"]);
Назначьте его Smarty следующим образом:
$smarty->assign('name', $links);
Вы можете присвоить результат GooglePagerank ()
, например, $ array ['pagerank']
?