[英]php compare value in every array
I have an array like below: 我有一个如下数组:
$number = array(1,2,3,4,5);
I have a value like below: 我有一个如下的值:
$my_num = 2;
I want to compare $my_num variable in every $number array. 我想在每个$ number数组中比较$ my_num变量。
My expected output like this: No, Yes, No, No, No. 我的预期输出如下:不,是,不,不,不。
I tried like this: 我试过这样的:
<?php
if(in_array($my_num, $number))
{
echo 'Yes';
}
else
{
echo 'No';
}
But I can only get 'Yes' from above output. 但我只能从上面的输出中得到'是'。
How should I modify it in order to get my expected output? 我应该如何修改它以获得我预期的输出?
Like I said in the comment above, all you need is a foreach
to iterate through your array and compare your data. 就像我上面的评论说,所有你需要的是一个foreach
通过您的数组进行迭代和比较数据。
foreach($numbers as $num){
echo ($num == $my_num) ? 'Yes' : 'No';
}
Source: http://php.net/manual/en/control-structures.foreach.php 资料来源: http : //php.net/manual/en/control-structures.foreach.php
Here's one option , essentially comparing $my_num
to each array value and mapping it to a Yes or No. The commas are for your expected result only. 这是一个选项 ,主要是将$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
You can use a foreach loop. 您可以使用foreach循环。 It loops through the array assigning the value of the current array member to the variable $num. 它遍历数组,将当前数组成员的值赋给变量$ num。
foreach ($number as $num) {
if ($num == $my_num) {
echo 'Yes';
} else {
echo 'No';
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.