2017-06-12 4 views
-1

私は必要な順番で姓だけを含む主なデータソースを持っています。私はアレイ内の完全な名前の未編成のリストを得るためにターゲットを削った。 last_names配列の前に、姓の対応付けに基づいてfull_names配列の最初の名前を付けることは可能ですか?既存の姓の配列をフルネームの別々の配列から先頭に追加

姓アレイの出力例(私が順番に使用するデータIが必要)

$last_name_array[0] = "Jones" 
$last_name_array[1] = "Jang" 
$last_name_array[2] = "Smith Jr" 
$last_name_array[3] = "Johnson" 
$last_name_array[4] = "Wall" 
$last_name_array[5] = "Doe" 

フルネームアレイの出力例

$full_name_array[0] = "John Smith Jr" 
$full_name_array[1] = "R.A. Jones" 
$full_name_array[2] = "Bob Johnson" 
$full_name_array[3] = "Bing-Ho Jang" 
$full_name_array[4] = "CA Doe" 
$full_name_array[5] = "Eli Wall" 
+4

入力配列と結果の例を表示する必要があります。 – AbraCadaver

+1

はい、可能です。 ;-) – domsson

答えて

1

(データIは、フルネームをしなければなりません) はい、可能です。

のはこれが最後の名前のあなたの順序付きリストであるとしましょう:

$lastNames = [ 
    "Doggett", 
    "Krycek", 
    "Mulder", 
    "Scully" 
]; 

レッツ・さらに、これはフルネームのあなたの順序なしリストであると言う:

$fullNames = [ 
    "Dana Scully", 
    "Walter Skinner", 
    "John Doggett", 
    "Jeffrey Spender", 
    "Fox Mulder", 
    "Decoy Doe" 
]; 

これを解決する方法はたくさんあります。他のものよりも優れています。
私は輪郭に行くよ最も素朴な(そして遅い)解決策は、それを改善すること自由に感じる。各$nameに対して$lastNames

  • 内のすべての$name以上

    1. 反復、もしそうならそれは$fullNames
    2. に含まれているかどうかを確認、私たちには$fullNames

    からエントリで$lastNames$nameを置き換えますこの場合、次のようになります。

    $lastNames = [ 
        "John Doggett", 
        "Krycek", 
        "Fox Mulder", 
        "Dana Scully" 
    ]; 
    

    注:手順2に注意する必要があります。誰かが他の人の姓に似ている名前を持つことができます。逆も同様です。したがって、nのフルネームの文字と比較することをお勧めします。nは、姓の長さです。

  • 関連する問題