Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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数组-在不同的选项数组中不支持该选项时禁用该选项_Php_Arrays - Fatal编程技术网

PHP数组-在不同的选项数组中不支持该选项时禁用该选项

PHP数组-在不同的选项数组中不支持该选项时禁用该选项,php,arrays,Php,Arrays,我正在尝试禁用另一个选项数组中禁用的选项。我做了一些示例代码 $options = array( // slug, conflicting/unsupported options array('mainoption', array('option1', 'option2')), array('option1', null), array('option2', null), array('option3', array('mainoption')), );

我正在尝试禁用另一个选项数组中禁用的选项。我做了一些示例代码

$options = array(
    // slug, conflicting/unsupported options
    array('mainoption', array('option1', 'option2')),
    array('option1', null),
    array('option2', null),
    array('option3', array('mainoption')),
);

foreach ($options as $option) {
    if(this option == 'option1' and is disabled in a different option array) { // how?
        echo 'disabled';
    } else {
        echo '<input type="text" name="' . $option[0] . '">';
    }
}
$options=array(
//slug,冲突/不支持的选项
数组('mainpoption',数组('option1','option2'),
数组('option1',null),
数组('option2',null),
数组('option3',数组('mainpoption'),
);
foreach($options作为$option){
如果(此选项=='option1',并且在不同的选项数组中被禁用){//how?
回音“禁用”;
}否则{
回声';
}
}
如果在不同的数组中该选项被标记为不受支持,如何禁用foreach中的输入?(在这种情况下,“mainoptions”中是否定义了不受支持的选项)


但对我来说,这似乎是不可能的。有什么方法可以做到这一点吗?

将其设为常规for循环(带计数器),然后检查
$mainpoptions[$i]
处的值。也就是说,为什么其他选项不是它们自己的数组,而是
$options
的子数组?这似乎使您的代码过于复杂。我将它们放在自己的数组中,
$mainpoptions
,这样您就可以按照描述进行检查了。
如果(在数组中($option,$mainpoptions)){//code here}
。此外,您还可以使用
[]
定义数组。一、 就个人而言,我发现使用方括号可以让代码更清晰,现在我看到
'mainpoptions'
只有一个键(
'option1','option2'
),其中
$options
有键值对(
'option1'=>null
)。这似乎也很奇怪?“定义不支持”是什么意思?啊,现在我明白了(我想)。在这种情况下,@ctwheels已经为您提供了合适的解决方案。不过,我仍然觉得您的代码/解释令人困惑。例如,为什么不将
mainpoptions
重命名为
unsupported\u options
?为什么它是
$options
的子数组?为什么不创建一个类,
选项
并给他们一个
$supported
字段呢?我个人会采用@domdom的方法创建一个类。上课是美好的事情,从长远来看可以节省你的时间。你不必总是使用它们,但我建议99%的时候,你都是基于类的