我在PHP中的每个函数输出都有问题(实际上不知道如何设置代码来做我需要的)。如果foreach中的每个项目都等于某个值,我想输出一些文本。如果我把
foreach($items as $item) {
if($item == 0){ echo "true"; }
}
我会为每个项目都成立,只有当所有项目都等于某个值时我才需要输出true。
谢谢!
答案 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数组的来源