2011-02-15 58 views
0

如果轉儲返回常量的php函數的返回值,通常會得到一個整數。 PHP手冊列出了常量,但未顯示其相應的整數值。例如,我目前在多捲曲資源上得到-1的返回值。如果我看看this頁面,我不知道-1的返回值意味着什麼。好吧,就我而言,我可以很容易假設-1不是一個標誌......但是你明白我的觀點。PHP手冊:讀取整型常量

那麼如何找出手冊中的相應常量呢?

回答

1

我敢肯定有常量和它們的值的表擺在那裏,但是你可以使用這個片段,以及:

<?php 
$consts = get_defined_constants(true); 
if (array_key_exists('curl', $consts)) { 
    echo '<table border="1">'; 
    foreach ($consts['curl'] AS $key => $val) { 
     echo "<tr><td>{$key}</td><td>{$val}</td></tr>"; 
    } 
    echo '</table>'; 
} 
+0

很好。我希望PHP手冊有這個。 – HyderA 2011-02-15 15:26:02

0

您鏈接到的PHP頁面的第一條評論鏈接到以下CURL網站頁面,該頁面具有(大部分)相同的常量以及它們的實際值。顯然,如果評論是值得信賴的,那麼PHP中的一些值是不一樣的,所以YMMV。

http://curl.haxx.se/libcurl/c/libcurl-errors.html

+0

`CURLM_CALL_MULTI_PERFORM(-1): 這是不是一個真正的錯誤。這意味着你應該再次調用curl_multi_perform(3),而不用做select()之類的事情。「否則我將永遠不會知道。謝謝!但我的原創依然存在。其他常量呢? – HyderA 2011-02-15 15:22:29

+0

simshaun上面的答案可以滿足賬單的要求 - 您可以將所有已定義的常量作爲數組獲取,然後使用常規數組搜索函數搜索所需的特定常量。 – 2011-02-15 15:25:52

0

看看print_r(get_defined_constants());,看看是否能找到你需要的東西。

另外,考慮curl_errnocurl_error

1

一般不直接使用整數。這是擁有常量的關鍵。如果它們將來發生變化以支持備用響應,則可能需要更新硬編碼的響應整數。相反,將您的結果與可用的常量進行比較以確定如何繼續。

關於multi_curl,響應並不是非常有用,因爲即使某些請求有不良響應,它也可以說「正常」。您需要分別處理它們以獲得最佳效果。

1

我不認爲是艱難的,

$constants = get_defined_constants(true); 
print_r($constants['curl']); 

/* and */ 
foreach ($constants['curl'] as $constant=>$val) 
{ 
    if ($val==-1) 
    { 
    echo $constant; 
    } 
}