2013-08-06 15 views
0

我看着the Gender class usage example,其中包含此片段:在PHP的Gender Gender類中,IS_UNISEX_NAME和IS_A_COUPLE有什麼區別?

case Gender::IS_UNISEX_NAME: 
    printf("The name %s is unisex in %s\n", $name, $data['country']); 
break; 


case Gender::IS_A_COUPLE: 
    printf("The name %s is both male and female in %s\n", $name, $data['country']); 
break; 

這給我的印象是IS_UNISEX_NAMEIS_A_COUPLE都是一樣的東西,這讓我不知道爲什麼有它兩個不同的常數。

這也讓我覺得,這可能是由於歷史原因。或者,這可能只是一個疏忽。

+0

這個問題似乎是題外話,因爲它是關於不涉及編程的例子。 –

+3

@ DanielA.White:我不同意。這個「例子」是這些常量含義的唯一文檔,因此問題是關於「性別」庫中常量的含義。 – ruakh

+1

圖書館似乎建立在原來的所有者的決心。您可能需要聯繫約爾格邁克爾(如原來的C代碼的作者)或阿納托爾Belski(作爲PECL分佈的所有者),瞭解他們是如何做的區別。 – aynber

回答

4

我把aynber's suggestion並通過電子郵件發送阿納托爾Belski的Gender extension當前維護者。這是他的迴應(經他同意發表):

基本上這是一樣的事情。在PHP「是夫妻倆做幾乎是 的兼容性的原因,如無塊一個更改名稱 字典。將男性和女性定義爲同一個姓(所以兩行) 表示夫婦。使用'?'意味着它是男女皆宜的。他們怎麼是 意味着條款 - 夫婦是常見的男性和女性的名字,男女皆宜可能是 例如給男性一個人女性名字。使用默認數據集 ,您可以簡單地將這兩種情況加入交換機中。對於數據庫 格式,只需查看包中的data/nam_dict.txt即可。