我有一个数组,然后我过滤了值,结果为null / empty。
如何确定非空的第一个过滤值?
<?php
$items = array('a1a','bb2','o3e','two','three');
$i=0;
foreach($items as $item) {
$item = str_replace('a1a','',$item); //filter remove
$item = str_replace('bb2','',$item); //filter remove
$item = str_replace('o3e','',$item); //filter remove
//ITRY THIS BUT NOT WORK IF THE SECOND AND THIRD IS EMPTY/NULL TOO
if($i==0) {
if(empty($item)){
//skip
} else {
//STATUS PUBLISH
}
} else {
//STATUS ATTACHMENT
}
$i++;
}
答案 0 :(得分:0)
如何从foreach PHP获取第一个非空的过滤值?
如果我理解正确,您希望他们的数组$items
中的第一个项目尚未被str_replace
清空。
如果这是正确的,以下是如何继续:
<?php
$items = array('a1a','bb2','o3e','two','three');
$first = true;
foreach($items as $item) {
$itemOriginal = $item;
$item = str_replace(['a1a', 'bb2', 'o3e'] ,'',$item); //filter remove
if(!empty($item) && $first == true){
$first = false;
echo "status publish -> ".$itemOriginal."\n";
} else {
echo "skip -> ".$itemOriginal."\n";
}
}
这将输出:
skip -> a1a
skip -> bb2
skip -> o3e
status publish -> two
skip -> three
如果这不是您想要的,请澄清您的问题并添加评论,以便我再次查看。
<强>更新强>
可以重视'三'不跳过?所以我想使用来自值foreach的php进行wordpress发布。第一个值'two'作为发布,'three'作为附件
<?php
$items = array('a1a','bb2','o3e','two','three');
$first = true;
foreach($items as $item) {
$itemOriginal = $item;
$item = str_replace(['a1a', 'bb2', 'o3e'] ,'',$item); //filter remove
if(!empty($item) && $first == true){
$first = false;
echo "status publish -> ".$itemOriginal."\n";
} elseif(!empty($item)) {
$first = false;
echo "status attachment -> ".$itemOriginal."\n";
} else {
echo "skip -> ".$itemOriginal."\n";
}
}
将输出:
skip -> a1a
skip -> bb2
skip -> o3e
status publish -> two
status attachment -> three