如何在id和字符串之间建立连接?

时间:2017-02-22 16:29:59

标签: php

我使用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值。

我做错了什么?

2 个答案:

答案 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";
}