寻找第一种可能性

时间:2011-12-11 19:40:58

标签: php mysql

如果我有这种模式来构建ID:

CX00其中0可以只用数字替换..但以下内容已经在使用中:

- CX00
- CX02
- CX04
- CX05
- CX07
- CX10
- CX11
- CX12

如何通过PHP或MySQL轻松找到值CX01, CX03, CX06, CX08, CX09, CX13+作为可用值?

2 个答案:

答案 0 :(得分:1)

我不知道你的数据是如何存储的,所以我将把ID留在数组中。一旦你这样做,这将找到下一个可用的。

<?php

function make_id($n) {
    $out = 'CX';
    if ($n < 10) $out .= '0';
    return $out . $n;
}

// Get these from some source
$items = array('CX00', 'CX02', 'CX04', 'CX05');
$id = make_id(0);

for($i=0; in_array($id, $items); $i++)
    $id = make_id($i);

echo $id;

?>

这称为暴力方法,如果你有很多ID,可能会有更有效的方法。最多100个,应该没有任何问题。

答案 1 :(得分:0)

在php中,只需使用for循环计算id,直到找到足够的未使用的id ...你希望有多少总id?