2017-02-22 8 views
0

私はphpとmysqlを使用しています。私はすべてのコードを配置する代わりに、単純にしようとします。IDと文字列の間の接続方法は?

Iは、例えば、ID = 106

ためのIDを持っていると私は、文字列のリストを持って、後_ IDと同じ番号です

BE1064490_101 
BE1064501_102 
BE1064512_103 
BE1064523_104 
BE1064534_105 
BE1064545_106 
BE1064556_107 
BE1064567_108 
BE1064578_109 
BE1064589_110 

IDがに等しいときだから私の使命は、あります、と言うと、106はエコー(ショー)するBE1064545_106

私は実際に私が声を出し始めるアイデアを探していますか? このリストは配列のようにする必要がありますか?か否か?

$array = array(
    "BE1064490_101" => "101", 
    "BE1064501_102" => "102", 
); 

PS:私は、私は今ではARAYでIDを検索

if (in_array($userid, $array)) { 
    echo key($array).'_'.$userid; 
} 

を使用し、アレイ

$array = array(
"BE1064490" => "101", 
"BE1064501" => "102", 
"BE1064512" => "103", 
"BE1064523" => "104", 
"BE1064534" => "105", 
"BE1064545" => "106", 
} 

を更新しました

explode('_', $code); 

を爆発する方法を知っていますしかし、私はその鍵を返さないので、私は最初のキーを取得します。 Id値が何であっても。

何が間違っていますか?

+0

あなたは辞書として配列を使用することができますが、あなたが使用する必要がありますキーとしてのID、値としての文字列または、データベースを使用してデータを格納し、バグや動的データ・セットの方がはるかに効率的です。 – arkascha

+0

ええ、キーはIDでなければなりません....だから、配列内のIDを単純に見ることができます: '$ array [theId]' – Hackerman

+0

ああ、データベースを使う必要はないと思います。これらのコードの特定の量だけ – AndrewS

答えて

0

idに常に同じ量の文字が含まれている場合は、これを試してください。

<?php $a = 'BE1064545_106'; if(substr($a, 10,3)=='106'){ echo $a;} else echo "something else";?> 
0

あなたの配列を反転し、それが簡単にする必要があります:

$array = array (
    101 => 'BE1064490', 
    102 => 'BE1064501', 
    103 => 'BE1064512', 
    104 => 'BE1064523', 
    105 => 'BE1064534', 
    106 => 'BE1064545', 
); 

$id = 102; 
echo $array[$id]; // BE1064501 

あなたが最初に確認したいことがあります。

if(isset($array[$id])) { 
    echo $array[$id]; // BE1064501 
} else { 
    echo "$id not found"; 
} 
関連する問題