Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以使用变量';s值作为if语句中的键插入?_Php_Arrays_If Statement_For Loop_Key Value - Fatal编程技术网

Php 我可以使用变量';s值作为if语句中的键插入?

Php 我可以使用变量';s值作为if语句中的键插入?,php,arrays,if-statement,for-loop,key-value,Php,Arrays,If Statement,For Loop,Key Value,不知道我还能用什么措辞。基本上,我正在尝试这样做,这样当我添加另一个$directory时,我所要做的就是更新它,$results并添加另一个与$directory['databaseName']同名的MySQL列。我的困难在于我的管理小组;其中,为了勾选所有描述条目(通过MySQL数据库)作业类型的框,我必须使用复杂的for循环,其中包含if语句。也许你能知道我想做什么并帮助我。如果我能够获取$directory[$I]['databaseName']的值,并将其插入if语句中,查看$resu

不知道我还能用什么措辞。基本上,我正在尝试这样做,这样当我添加另一个
$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'];
    }
}
$directory=
排列(
排列(
'linkName'=>'Screen Room',
“路径”=>“sr”,
'databaseName'=>'ScreenRoom',
),
排列(
'linkName'=>'Glass Window',
“路径”=>“gw”,
'databaseName'=>'GlassWindow',
),
排列(
“linkName”=>“甲板下的屋顶”,
“路径”=>“路径”,
“databaseName”=>“屋顶下层”,
),
);
$results=数组(
“ID'=>”,
'发票'=>'',
'名字'=>'',
'姓氏'=>'',
“ImagesBefore'=>”,
“ImagesAfter'=>”,
'说明'=>'',
“推荐信”=>“,
'日期'=>'',
'GlassWindow'=>'0',
“屏幕室”=>“0”);
对于($i=0;$i
这实际上是一个非常简单的修复,我最初认为它不起作用。我想这就是为什么你从不在没有先尝试第一个想法的情况下对自己进行第二次猜测。对于那些将来可能遇到同样问题的人,这里是我使用的解决方案。我只是删除了
环绕
$目录[$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'];
    }
}
for($i=0;$i
为什么不通过将其分配给变量来使用它并保持简单。同时使用
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'];
}
$key=$directory[$i]['databaseName'];
如果(isset($results[$key])&&$results[$key]==1){
回显“”。$directory[$i]['linkName'];
}
否则{
回显“”。$directory[$i]['linkName'];
}

这似乎与我自己回答的是同一件事,但更具结构性和条理性。由于您在您的回答中使用了更为条理化的布局,我会将您的答案标记为正确答案,而不是我自己的答案。