我使用php和mysql,我会尝试简化,而不是放置我的所有代码。
我有一个ID,例如ID = 106
我有这个字符串列表,在_与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;
}
现在它在aray中搜索ID但是没有给我回KEY,所以我只得到第一个KEY。无论什么是Id值。
我做错了什么?
答案 0 :(得分:0)
如果id总是包含相同数量的字符,请尝试此操作。
<?php $a = 'BE1064545_106'; if(substr($a, 10,3)=='106'){ echo $a;} else echo "something else";?>
答案 1 :(得分: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";
}