【问题标题】:How to output an item from an array based on an exact or partial match?如何根据完全匹配或部分匹配从数组中输出项目?
【发布时间】:2021-05-07 18:20:45
【问题描述】:
$type = 'oranges';
$kind = 'rang';
$list = array(
    'apples',
    'oranges',
    'pears'
);
foreach ( $list as $name ) {
    if ( strpos( $type, $name ) !== false || strpos( $kind, $name ) !== false  ) {
        $fruit = $name;
    } else {
        $fruit = '';
    }
}
echo $fruit;

基于此示例,我希望输出为 oranges

我做错了什么?

【问题讨论】:

    标签: php arrays variables


    【解决方案1】:

    因为在您拥有$fruit = 'oranges' 之后,循环会继续(使用$name = 'pears'),因此$fruit 被分配给''

    只要加break,满足条件后停止循环即可:

    $type = 'oranges';
    $kind = 'rang';
    $list = array(
        'apples',
        'oranges',
        'pears'
    );
    foreach ( $list as $name ) {
        if ( strpos( $type, $name ) !== false || strpos( $kind, $name ) !== false  ) {
            $fruit = $name;
            break;
        } else {
            $fruit = '';
        }
    }
    echo $fruit;
    

    输出:

    oranges
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2019-02-28
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多