2

我有一个像这样的多维数组

$array['value'][1][1]

现在我想像这样实现if循环

if ($value = $array['value'][1][1]) {
echo "It works";
} 

现在,如果我分配诸如[1][1],[2][1].

是否可以比较整个数组。

我的意思是如果数组看起来像

array[value][1][1],array[value][2][1],..........,array[value][n][1]

It works应该得到回应。

我试过这样。

if ($value = $array['value'][][]) {
echo "It works";
} 

但它不起作用。谁能给我正确的语法?

4

4 回答 4

2

我不确定这是否是您要查找的内容,但您可以尝试此功能 $value is 1 在您的情况下

function($array,$value)
    foreach($array['amazon'] as $val){
        if($value != $val[1])return FALSE;
    }
    return TRUE;
}

该函数通过 $array['amazon'][*] 运行并检查每个值的条件。如果发现任何返回 FALSE

于 2012-12-14T17:06:48.387 回答
1

根据您对您要完成的工作的评论,我认为以下内容可能会解决您的困境。让我知道我是否走错了方向或有任何其他问题/疑虑。

<?php
$forms = array(
    'amazon' => array(
        0 => array(
            1 => 111,
        ),
        1 => array(
            1 => 222,
        ),
        2 => array(
            1 => 333
        )
    )
);

$value = 333;

$it_works = False;
foreach($forms['amazon'] as $array) {
    if($array[1] == $value) {
        $it_works = True;
        break;
    }
}

if($it_works === True) {
    print 'It Works!';
}
?>
于 2012-12-14T17:31:43.140 回答
0
function check() {
    for($i = 0; $i < count($array[$value]); $i++) {
        if($value != $array[$value][$i][1])
            return FALSE;
    }
    echo 'It works!';
}
于 2012-12-14T17:05:37.543 回答
0

你可以试试这个:

$itWorks = true;

for( $a = 0; $a < sizeof( $array[value] ); $a ++ ){
    if ( $value != $array[value][$a][1] ){
        $itWorks = false;
        break;
    }
}

if( $itWorks ){
    echo "It works";
}

当然,您必须将 [value] 替换为合法值

于 2012-12-14T17:07:53.390 回答