我想从DB
中搜索文本中的数字并打印它们。数字是产品代码,从4到6位数不等。搜索字符串(变量匹配)并打印
例子:
aaaaa 1234 aaaa
aaaaa 123456 aaaaa
aaaaa 12345 aaaaa
我什么是5号的精确匹配的数组,但不能变,不打印:
$string = $sql['products_description'];
preg_match_all('/(?<![0-9])[0-9]{5}(?![0-9])/', $string, $match);
for ($i=0; $i<10; $i++) {
echo $match[$i];
echo '<br>';
}
任何帮助吗?
编辑: 我得到这个紧密合作:
$string = $sql['products_description'];
preg_match_all('#\d{4,6}#', $string, $matches);
foreach ($matches as $match) {
print_r($match);
}
但返回类似:
阵列([0] => 1234 [1] => 123456 [2] => 12345)
我纯粹需要它们(不是在一个数组中),因为我必须稍后分别使用每个数字。在这种情况下,如何提取每个元素并将其打印出来?
SOLUTION:
$var = array();
preg_match_all('#\d{4,6}#', $string, $matches);
foreach ($matches as $match) {
$var[] = $match;
}
for ($i=0; $i<=count($matches[0]); $i++) {
for ($j=0; $j<=count($matches[0]); $j++) {
if (($var[$i][$j]) != '') {
print_r($var[$i][$j]);
echo '<br>';
}
}
}
您需要发布UR查询 –
我的查询是正确的,让我用数字产品说明里面 –