假设我有一个数字1234567890并且我想做某种循环来创建一个可用于MySQL查询的东西。
例如:
数字为1234567890
。
查询中的可用部分应如下所示:
SELECT * FROM table WHERE column IN (1234567890, 123456789, 12345678, 1234567, 123456, 12345, 1234, 123, 12, 1)
打破了我的头,所以我希望有人可以帮助我。
非常感谢你提前...
答案 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);
}