php比较每个数组中的值

时间:2015-09-03 02:30:10

标签: php arrays

我有一个如下数组:

$number = array(1,2,3,4,5);

我的价值如下:

$my_num = 2;

我想在每个$ number数组中比较$ my_num变量。

我的预期输出如下:不,是,否,否,否。

我试过这样:

<?php
if(in_array($my_num, $number))
{
    echo 'Yes';
}
else
{
    echo 'No';
}

但我只能得到&#39;是&#39;从上面的输出。

我应该如何修改它以获得预期的输出?

3 个答案:

答案 0 :(得分:3)

正如我在上面的评论中所说的,您只需要foreach来遍历您的数组并比较您的数据。

foreach($numbers as $num){
    echo ($num == $my_num) ? 'Yes' : 'No';
}

来源:http://php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:3)

这是一个option,主要是将$my_num与每个数组值进行比较并将其映射为是或否。逗号仅用于您的预期结果。

$english = array_map(function($val) use ($my_num) {
    return ($val == $my_num) ? 'Yes' : 'No';
}, $number);
echo implode(', ', $english); // No, Yes, No, No, No

答案 2 :(得分:2)

您可以使用foreach循环。它遍历数组,将当前数组成员的值赋给变量$ num。

foreach ($number as $num) {
    if ($num == $my_num) {
        echo 'Yes';
    } else {
        echo 'No';
    }
}