Condição que não detecta o valor de uma variável

  • Autor Autor xaiborweb
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
xaiborweb

xaiborweb

Dseda
Programador
No recomendado
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
hola, estoy programando un php para buscar id_imdb a partir del titulo y año así:

PHP:
<?php
$type = 'movie';
$titulo = '%5B16%2B%5D+Sausage+Party';
$year = '2015';
$ch = curl_init('http://www.imdb.com/find?q='.$titulo.'&s=tt'); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.imdb.com/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36');
curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Language: en'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$results = curl_exec($ch); 
curl_close($ch);
preg_match_all("(<tr class=\"findResult(.*)</tr>)siU", $results, $html_result);
if ($type == 'movie'){
	if (!stripos($html_result[1][0], 'TV Series')||!stripos($html_result[1][0], 'TV Episode')){
	    if (stripos($html_result[1][0], $year)){
	    	preg_match_all("(href=\"(.*)\")siU", $html_result[1][0], $link_imdb);
	    	$idimdb = explode('/',$link_imdb[1][0]);
	    	echo $id_imdb = $idimdb[2];
	    }else{
	    	$año = $year + 1;
	    	echo $año;
	    	if (stripos($html_result[1][0], $año)){
	    		echo 'hola';
	    	}
	    }
	}
}
para el ejemplo anterior el año real en imdb es 2016, pero le pase un año 2015 asi que tomo la variable year y le sumo 1 y lo imprimo y efectivamente al 2015+1=2016
PHP:
$año = $year + 1;
pero luego cuando meto la variable $año dentro del if no me detecta el contenido de $año=2016, por que no se cumple la condición entrando a imprimir hola, y no se el motivo, agradezco si sabes cual es gracias.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
y si probas esto

PHP:
if (stripos($html_result[1][0], (int)$año)){ 
                echo 'hola'; 
            }
 
y si probas esto

PHP:
if (stripos($html_result[1][0], (int)$año)){ 
                echo 'hola'; 
            }
hola gracias por responder acabo de probarlo y no funciona, lo raro es que imprimo la variable
PHP:
$año = $year + 1;  //2016 para el ejemplo
y si cambio el $año por el numero si me funciona, entonces es por eso que me parece muy extraño el error.
PHP:
if (stripos($html_result[1][0], "2016")){
	    		echo 'hola';
	    	}
 
Entonces prueba esto...

PHP:
if (stripos($html_result[1][0],(string)$año)){ 
                echo 'hola'; 
}
 
intenta no usar la ñ y cambiale por n
 
intenta no usar la ñ y cambiale por n

probé con muchas variables para descartar eso y pasaba lo mismo, al final lo pude soluciona gracias al usuario DzignsWeb asi:
PHP:
if (stripos($html_result[1][0],(string)$año)){ 
                echo 'hola'; 
}
 
Voltar
Topo