我运行一个foreach循环,其中一些循环不包含以下变量,它们都是空的。
但是,“hi world”总是得到回应。
只有当$row['utm_source'],$row['utm_medium'],$row['utm_campaign']
中至少有一个有值时,我才能显示“hello world”?
$arr = array($row['utm_source'],$row['utm_medium'],$row['utm_campaign']);
if (!empty($arr)) {
echo "hi world";
}
答案 0 :(得分:2)
您可以使用count()和array_filter()执行此操作: -
$arr = array($row['utm_source'],$row['utm_medium'],$row['utm_campaign']);
if (count(array_filter($arr))>0) {
echo "hi world";
}
答案 1 :(得分:0)
您可以使用两种方法:
<强> 1。内爆+修剪
implode如果它们与提供的分隔符一起是字符串,则连接数组项。
if( trim(implode("", $arr)) !== ""){
echo "hi world";
}
<强> 2。 array_filter 强>
array_filter返回将返回true的项返回给提供的回调函数。
$arr = array_filter($arr, function($d) { return trim($d) !== ""; });
if(count($arr)){
echo "hi world";
}
答案 2 :(得分:0)
这是一种粗略的方法,你可以做到这一点
<?php
$row = array();
$row['utm_source'] = null;
$row['utm_medium'] = null;
$row['utm_campaign'] = 1;
foreach ($row as $key => $value) {
if(isset($key)){
echo 'Hello';
break;
}
}
您也可以通过
查看if (!empty($row['utm_source'])) {...}