如何从foreach PHP获取第一个非空的过滤值?

如何从foreach PHP获取第一个非空的过滤值?,php,foreach,Php,Foreach,我有一个数组,然后过滤该值,结果为null/空 如何确定第一个过滤后的非空值 <?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

我有一个数组,然后过滤该值,结果为null/空

如何确定第一个过滤后的非空值

<?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++;           
}

如何从foreach PHP获取第一个非空的过滤值

如果我理解正确,您需要的是数组
$items
中的第一个项目,该项目未使用
stru\u 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";
    }
}
如果这不是您想要的,请澄清您的问题并添加评论,以便我可以再次查看

更新:


值“三”不能跳过吗?所以我想让wordpress使用php从value foreach发布。第一个值“2”作为发布,第二个值“3”作为附件


如果(!empty($item))为空,请澄清您的问题或显示预期输出
{….做你的事….
?我使用该代码,但问题是第二个和第三个值也是空的,如何跳过第一个、第二个、第三个和“在第四个中做点什么”作为foreach的第一个值?值“三”不能跳过吗?所以我想让wordpress使用php从值foreach发布。第一个值“二”作为发布,第二个值是“三”作为附件@sugiputra,我在我的答案中添加了一个更新,它符合您的要求。
skip -> a1a
skip -> bb2
skip -> o3e
status publish -> two
skip -> 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