我正在尝试不显示当前在数据库中的数字,因此无法再添加两次。
我的问题是,在foreach
期间,它仍会显示我不想显示的数字。
示例:
在数据库中:foreach ($results as $item) {
800-333-3333
800-222-2222
我的列表:foreach ($obj as $file) {
800-333-3333
800-222-2222
800-111-1111
我遇到的问题是,当它循环时会显示如下内容:
<option value="800-222-2222">" . 800-222-2222 . " - " 800-111-1111 "</option>
如何确保数据库中的值不会显示或使用?
结果结果: 我想要一个不在数据库中的数字列表框(2 foreach)
CODE:
foreach ($obj as $file) {
$c_number = preg_replace('/[^0-9]/', '', $file['matchrule']);
$clean_number = substr($c_number, 1);
if(!empty($results)) {
foreach ($results as $item) {
if ($item['NUMBER'] != $clean_number) {
echo "<option value=" . $clean_number . "|" . $_domain . ">" . $clean_number . " - " .$item['NUMBER']. "</option>";
}
}
}
else {
echo "<option value=" . $clean_number . "|" . $_domain . ">" . $clean_number . "</option>";
}
}
答案 0 :(得分:0)
这是我对你的理解:
您正在从数据库中检索数据,并且您不希望显示已插入数据库的数据。如果是这样,以下是答案:
以数组(fetch_array)的形式从数据库中检索数据,然后使用 in_array()函数检查该数组中的值是否可用,如下所示: -
private async createFactory(opts: CompileOptions) {
const cacheKey = opts.template;
if (Object.keys(cache).indexOf(cacheKey) > -1) {
return cache[cacheKey];
}
cache[cacheKey] = new Promise(async(resolve) => {
@Component({
template: opts.template
})
class TemplateComponent {
context: any
}
@NgModule({
imports: opts.imports,
declarations: [
TemplateComponent
// <== Insert your directives and components here
]
})
class TemplateModule {
}
const component = await this.compiler.compileModuleAndAllComponentsAsync(TemplateModule);
const factory = component.componentFactories.find((comp) =>
comp.componentType === TemplateComponent
);
if (opts.onCompiled) {
opts.onCompiled(component);
}
cache[cacheKey] = factory;
resolve(factory);
})
return cache[cacheKey];
}
答案 1 :(得分:0)
您尝试实施的核心概念似乎是遍历两个阵列,而只输出 <{1}}和 <{ {1}}。
假设您的值是有序的,并且存在于两个单独的数组中,您可以使用两个索引遍历每个数组,并且只在某些匹配条件下递增这些索引。
下面使用两个整数数组提供了一个示例:
list