foreach($tagarray[ResultSet][Result] as $str_tag){
//echo "слово из tagarray:".$str_tag."\n";
foreach($dell_words_array as $dell_words_array_str){
//echo "слово из dell_words_array:".trim($dell_words_array_str)."\n";
if (stristr($str_tag,trim($dell_words_array_str))){
//echo "нашел: ".$dell_words_array_str." в строке: ".$str_tag."\n";
$key = array_search($str_tag, $tagarray[ResultSet][Result]);
unset($tagarray[ResultSet][Result][$key]);
}
}
тут тоже ругаеться хотя значение
count($tagarray[ResultSet][Result] = 1
if (count($tagarray[ResultSet][Result]) > 0){
$tags = implode(",",$tagarray[ResultSet][Result]);
} else {
$tags = 0;
}
Может кому то пригодиться функция получения тегов с yahoo, только appid под свой замените а то я там свой покоцал :)
function gettags($s)
{
$dell_words_array = file( "./del_words.txt" );
//print_r($dell_words_array);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://api.search.yahoo.com/ContentAnalysisService/V1/termExtraction');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, 'appid=wW7wfWzVulLm4w4dQ6FLkj6Jc.JJRD3zObn4A.Ofd7iDgkl7lpsoIwS&context=' . urlencode($s).'&output=php' );
$php = curl_exec($ch);
curl_close($ch);
$tagarray = unserialize($php);
print_r($tagarray);
echo count($tagarray[ResultSet][Result]);
$i=0;
foreach($tagarray[ResultSet][Result] as $str_tag){
//echo "слово из tagarray:".$str_tag."\n";
foreach($dell_words_array as $dell_words_array_str){
//echo "слово из dell_words_array:".trim($dell_words_array_str)."\n";
if (stristr($str_tag,trim($dell_words_array_str))){
//echo "нашел: ".$dell_words_array_str." в строке: ".$str_tag."\n";
$key = array_search($str_tag, $tagarray[ResultSet][Result]);
unset($tagarray[ResultSet][Result][$key]);
}
}
}
//print_r($tagarray[ResultSet][Result]);
if (count($tagarray[ResultSet][Result]) > 0){
$tags = implode(",",$tagarray[ResultSet][Result]);
} else {
$tags = 0;
}
return $tags;
}
Спустя 42 минуты, 5 секунд (5.12.2011 - 20:41) kovaldm написал(а):
var_dump($tagarray[ResultSet][Result]);
Спустя 1 час, 37 минут, 41 секунда (5.12.2011 - 22:19) Winston написал(а):
И что за привычка писать символьные индексы без кавычек ?
Спустя 17 минут, 9 секунд (5.12.2011 - 22:36) inpost написал(а):
$tagarray['ResultSet']['Result']
Спустя 10 часов, 10 минут, 19 секунд (6.12.2011 - 08:46) linker написал(а):
Зачем это
$key = array_search($str_tag, $tagarray[ResultSet][Result]);когда можно сразу
foreach($tagarray[ResultSet][Result] as $key => $str_tag){
Спустя 1 час, 46 минут, 2 секунды (6.12.2011 - 10:32) sx000 написал(а):
Цитата (Winston @ 5.12.2011 - 19:19) |
И что за привычка писать символьные индексы без кавычек ? |
поставил кавычки везде, не помогло
Warning: Invalid argument supplied for foreach() in /usr/home/user/www/ttt/class/class_tagger.php on line 17
Warning: implode(): Invalid arguments passed in /usr/home/user/www/ttt/class/class_tagger.php on line 31
все равноп ишет те же ошибки. Но массив полный
Array
(
[ResultSet] => Array
(
[Result] => start racing
)
)
Спустя 3 минуты, 7 секунд (6.12.2011 - 10:36) sx000 написал(а):
если массив будет больше или равен двум значениям то все работает как часы
Спустя 6 часов, 4 минуты, 59 секунд (6.12.2011 - 16:41) bodja написал(а):
Судя по этому
Цитата |
Array ( [ResultSet] => Array ( [Result] => start racing ) ) |
у вас
$tagarray[ResultSet][Result]
является значением ,а не массивом, собственно и foreach и перебирать нечего

Цитата |
тут тоже ругаеться хотя значение count($tagarray[ResultSet][Result] = 1 |
Ну как по вашему ,куда должен вставить implode запятую из массива ?

Спустя 27 минут, 54 секунды (6.12.2011 - 17:08) sx000 написал(а):
блин точно, там формат сериализации этот тупит, если одно значение то он по другому массив формирует ... бред неконтролируемый
