不知道我怎么能措辞。基本上我试图这样做,以便当我添加另一个$directory
时,我将要做的就是更新它,$results
并添加另一个与$directory['databaseName']
同名的MySQL列。我的困难在于我的管理小组;其中为了检查描述条目(通过MySQL数据库)作业类型的所有框,我将不得不使用复杂的for
循环,其中包含if
语句。也许你可以弄清楚我想要做什么并帮助我。如果我能够获得$directory[$i]['databaseName']
的值并将其插入if
语句以查看$results
是否具有该值,因为它的键等于1,这一切都会有用。
$directory=
array(
array(
'linkName' => 'Screen Room',
'path' => 'sr',
'databaseName' => 'ScreenRoom',
),
array(
'linkName' => 'Glass Window',
'path' => 'gw',
'databaseName' => 'GlassWindow',
),
array(
'linkName' => 'Roof-Under-Deck',
'path' => 'rd',
'databaseName' => 'RoofUnderDeck',
),
);
$results = array(
'ID' => '',
'Invoice' => '',
'FirstName' => '',
'LastName' => '',
'ImagesBefore' => '',
'ImagesAfter' => '',
'Description' => '',
'Testimonial' => '',
'Date' => '',
'GlassWindow' => '0',
'ScreenRoom' => '0');
for ($i=0; $i < count($directory); $i++) {
if ($results["$directory[$i]['databaseName']"] === 1) {
echo '<input type="checkbox" checked> ' . $directory[$i]['linkName'];
}
else
echo '<input type="checkbox"> ' . $directory[$i]['linkName'];
}
}
答案 0 :(得分:2)
为什么不将它分配给变量&amp; 保持简单。同时使用isset
以确保它确实存在,
$key = $directory[$i]['databaseName'];
if (isset($results[$key]) && $results[$key] == 1) {
echo '<input type="checkbox" checked> ' . $directory[$i]['linkName'];
}
else{
echo '<input type="checkbox"> ' . $directory[$i]['linkName'];
}
<强> DEMO 强>
答案 1 :(得分:0)
这实际上是一个非常简单的解决方案,我最初认为不会起作用。我猜这就是为什么你不先尝试自己的第一个想法就不要再猜测自己。对于未来可能遇到同样问题的人来说,这是我使用的解决方案。我只是移除了"
环绕$directory[$i]['databaseName']
并将===
更改为仅==
。
for ($i=0; $i < count($directory); $i++) {
if ($results[$directory[$i]['databaseName']] == 1) {
echo '<input type="checkbox" checked>' . $directory[$i]['linkName'];
}
else {
echo '<input type="checkbox">' . $directory[$i]['linkName'];
}
}