PHP只为每个输出一个值

时间:2014-04-24 13:40:49

标签: php if-statement foreach output

我在PHP中的每个函数输出都有问题(实际上不知道如何设置代码来做我需要的)。如果foreach中的每个项目都等于某个值,我想输出一些文本。如果我把

foreach($items as $item) {
    if($item == 0){ echo "true"; }
}

我会为每个项目都成立,只有当所有项目都等于某个值时我才需要输出true。

谢谢!

7 个答案:

答案 0 :(得分:2)

这很可能是由于PHP类型杂乱你的价值观。您的值可能不是数字,因此当您进行宽松的比较(==)时,PHP会将它们转换为整数。不以数字开头的字符串将变为零,并且您的语句将为真。

要解决此问题,请使用===比较运算符。这将比较值类型。因此,除非值是整数零,否则它将为假。

if($item === 0){ echo "true"; }

如果您正在尝试查看所有项目是否都等于某个值,则此代码将为您执行此操作:

$equals = 0;
$filtered = array_filter($items, function ($var) use ($equals) {
    return $var === $equals;
});
if (count(count($items) === count($filtered)) {
    echo "true";
}

答案 1 :(得分:1)

这段代码适用于大多数类型的变量。了解内联评论的工作原理。

 $count=0; // variable to count the matched words
 foreach ($items as $item)
   {
     if($item == $somevalue)
       {
         $count++; // if any item match, count is plus by 1
       }
   }
 if($count == count($items))
   {
     echo "true"; // if numbers of matched words are equal to the number of items
   }
 else
  {
    echo "false";
  }

希望它有效,对不起任何错误

答案 2 :(得分:0)

$ok = true;
foreach ($items as $item) 
{
    if ($item != 0)
    { 
        $ok = false;
    }
}
if ( $ok == true)
{
    echo 'true';
}

答案 3 :(得分:0)

$bool = 0;
foreach($items as $item) {
    if($item == $unwantedValue)
    { $bool=1; break; }
}

if($bool==0)
echo 'true';

答案 4 :(得分:0)

$equals=true;

foreach($items as $item) {
    if($item!=0)
    {
        $equals=false;
        break;
    }
}
if($equals) {
    echo 'true';
}

答案 5 :(得分:0)

如果要检查值与variabel中的某个值相同并打印,请使用此

<?php 
$target_check = 7;

$items = array(1, 4, 7, 10, 11);

foreach ($items as $key => $value) {
    if ($value == 7) echo "the value you want is exist in index array of " . $key . '. <br> you can print this value use <br><br> echo $items[' . $key . '];';
}


?>

但是如果您只想检查数组中是否存在值,则可以使用in_array函数。

<?php

$target_check = 2;

if (in_array($target_check, $items)) echo "value " . $target_check . 'found in $items';
else echo 'sorry... ' . $target_check . ' is not a part of of $items.';
?>

答案 6 :(得分:-2)

<?
$items=array(0,1,2,0,3,4);
foreach($items as $item) {
    if($item == 0){ echo "true"; }
}
?>

你的代码工作! 检查$ items数组的来源