删除一个数字,每次减去最后一位数

时间:2015-04-22 20:42:55

标签: php mysql

假设我有一个数字1234567890并且我想做某种循环来创建一个可用于MySQL查询的东西。

例如:

数字为1234567890

查询中的可用部分应如下所示:

SELECT * FROM table WHERE column IN (1234567890, 123456789, 12345678, 1234567, 123456, 12345, 1234, 123, 12, 1)

打破了我的头,所以我希望有人可以帮助我。

非常感谢你提前...

2 个答案:

答案 0 :(得分:0)

$number = "1234567890"; // Has to be string
$array = array();
while( strlen($number) > 1 )
{
    $array[] = $number;
    $number = substr($number, 0, strlen($number)-1);
}
$strForMySQL = implode(",", $array); // would return "1234567890,123456789,12345678,........1"

$query = "SELECT * FROM table WHERE column IN (".$strForMySQL.")";

答案 1 :(得分:0)

您可以使用substr继续使用循环删除数字的最后一个字符。如果以一个整数开头,则需要将其转换为字符串以使其起作用。

$x=1234567;
$x=(string)$x;

for($i=0; $i<strlen($x); $i++){
    //Write SQL here or store them in an array, print...etc.
    echo substr($x, 0,strlen($x)-$i);

}