2017-02-22 78 views
0

我使用php和mysql,我会尽量简化它,而不是放置我所有的代码。如何在id和字符串之间建立连接?

我有例如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:我知道如何爆炸

explode('_', $code); 

我已经更新了阵列

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

我用

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

现在搜索ID在阿雷但不会让我回到它的钥匙,所以我开始获得第一个KEY。不管什么是Id值。

我在做什么错?

+0

可以使用数组作为一本字典,但你应该使用ID作为键,字符串作为值。或者您使用数据库来存储数据,对于错误和动态数据集更有效。 – arkascha

+0

是的,但关键应该是ID ....所以你然后可以简单地看看数组中的ID,如:'$ array [theId]' – Hackerman

+0

哦,我认为没有必要使用数据库cince会有只有一定数量的那些鳕鱼 – 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"; 
} 
相关问题