Php数组多维关联比较值

Php数组多维关联比较值,php,foreach,Php,Foreach,嗨,我有这样一个结构数组。我想比较一下这种情况 if(dataInto[0]>=MyDataTypeFromInput && dataOut[0]<=MyDataTypeFromInput && room[0]==MyIdRoom) {...} 只需根据一个主要数组项的长度执行一个foreach循环: foreach( $array['dataInto'] as $key => $val ) { if ( $ar

嗨,我有这样一个结构数组。我想比较一下这种情况

if(dataInto[0]>=MyDataTypeFromInput && dataOut[0]<=MyDataTypeFromInput && room[0]==MyIdRoom) {...}

只需根据一个主要数组项的长度执行一个
foreach
循环:

foreach( $array['dataInto'] as $key => $val )
{
    if
    (
        $array['dataInto'][$key] >= MyDataTypeFromInput 
        && 
        $array['dataOut'][$key]  <= MyDataTypeFromInput 
        && 
        $array['room'][$key]     == MyIdRoom
    )
    {
    ...
    }
}
foreach($array['dataInto']as$key=>$val)
{
如果
(
$array['dataInto'][$key]>=MyDataTypeFromInput
&& 

$array['dataOut'][$key]我不会在foreach循环中这样做,更明智的方法是使用for循环,因为所有索引都是数字的

for($i = 0; $i < count($arr['dataInto']); $i++){
  if($arr['dataInto'][$i] >= MyDataTypeFromInput
  && $arr['dataOut'][$i]  <= MyDataTypeFromInput
  && $arr['room'][$i]     == MyIdRoom){
    // etc..
  }
}

我理解您的第二个代码,但我需要在字符串索引后搜索值。还有其他方法可以让它工作吗?我希望看到其他解决方案;)
for($i = 0; $i < count($arr['dataInto']); $i++){
  if($arr['dataInto'][$i] >= MyDataTypeFromInput
  && $arr['dataOut'][$i]  <= MyDataTypeFromInput
  && $arr['room'][$i]     == MyIdRoom){
    // etc..
  }
}
foreach($arr as $key => $value){ 
  echo $key, ', '; // ouput: "dataInto, dataOut, room" 
  foreach($value as $subkey => $subvalue){
    echo $subkey, ' -> ', $subvalue; // will first loop dataInto and display all 3 values with numeric keys 0, 1, 2.
  }
}