2011-08-12 54 views
0

下面的代碼與xml腳本一起工作,以檢查給定的電子郵件是否在給定的聯繫人列表中,然後打印結果。但出於某些原因,即使在給定的聯繫人列表中找不到電子郵件,也會始終提供SUCCESS。 但是,當它應該在給定的聯繫人列表中找到電子郵件時,它會打印結果。PHP:如何表達如果這個變量包含一些東西,然後做點什麼

所以我想要做的是說「如果結果不是空的,則發送電子郵件至X」

$ch = curl_init('http://clientes.cupon0km.com/xml.php'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
$result = @curl_exec($ch); 
if($result === false) { 
    echo "Error performing request"; 
} 
else { 
$xml_doc = simplexml_load_string($result); 
echo 'status is ', $xml_doc->status, '<br/>'; 
if ($xml_doc->status == 'SUCCESS') { 
print_r($result); 
} else { 
echo 'Error is ', $xml_doc->errormessage, '<br/>'; 
} 
} 

基本上是我不知道該怎麼做的是在第二,如果怎麼說IF $結果包含的東西(意思是它不返回爲空)然後發送電子郵件到X?

回答

2

if($ result!= NULL)?或者如果($ result!='')?那麼發送電子郵件。

+0

沒了,監守XML始終返回的東西,甚至我可以nt計算出這個結果 – sebas

+0

爲什麼你不迴應$結果,看看它什麼時候它是空的。 – bozdoz

+0

它沒有返回任何內容,爲空 – sebas

2

測試,如果它是truthy:

if($result){ 
    // Send mail 
} 

這將是falsey(但不是假的),如果它是一個空字符串。

if($result === false){ 
    echo "Error performing request"; 
}else if($result){ 
    // Send mail because result is falsy, but not false 
} 
+0

我可以只使用如果($結果){ //發送郵件 }沒有說明其他如果? – sebas

+0

sebas是:)'else'不是必需的。 – Paulpro

+0

這是行不通的,嘗試了兩個解決方案你建議,但沒有作品,電子郵件發送時,XML返回的東西,當它不,任何想法? – sebas

1
if(!empty($result)) 
{ 
    // here you go 
} 

PHP docs

以下東西被認爲是空的:

  • 「」(空字符串)
  • 0(0作爲整數)
  • 0.0(0作爲浮點數)
  • 「0」(0作爲字符串)
  • NULL
  • FALSE
  • 陣列()(空數組)
  • 變量$變種; (變量聲明,但沒有一類的值)
+0

哦,是的,我喜歡這個... – sebas

+0

這是行不通的,任何想法爲什麼?當我使用,如果結果只有它的作品 – sebas

+0

@sebas - 確保你使用'!empty'作爲「不空」 – Maverick

1

什麼是在XML文件作爲!空($結果)'' * *可能無法正常工作 因這樣的事實:一個XML文檔總是包含一些

當它不它算作如果有東西,你可能要包括在XML文件中的錯誤代碼,如果沒有找到

+0

你是完全正確的!空不工作,但當我簡單地使用,如果結果ot works..can我只是使用,如果結果{}或有風險的某種方式? – sebas

+0

使用剛結果將不起作用,因爲它總是會返回結果。 – amigura

+0

請告訴我要用什麼 – sebas

相關問題