Python的Python成员资格运算符

时间:2018-06-27 16:39:09

标签: php python

在PHP中,Python的Membership Operator是否等效?

PHP Universe中使用的运算符是“ in in not not”吗?

是否可以像在Python中那样直接使用PHP重写此示例?

ingredients = ['cheese', 'tomato', 'onion', 'pepperoni']
if 'oni' in ingredients:
   print("The letters 'oni' is available in the given ingredients")
else:
   print("The letters 'oni' is NOT available in the given ingredients")

if 'oni' in 'pepperoni':
    print("The letters 'oni' is available in the given ingredient")
else: 
    print ("The letters 'oni' is NOT available in the given ingredient")

我已经知道有成千上万种方法可以在PHP中获得相同的结果,但要点是PHP中是否存在“成员运算符”。

4 个答案:

答案 0 :(得分:1)

您去了!我希望这会有所帮助。

<?php
$ingridients = array("Cheese", "Tomato", "Onion", "Pepperoni");

if (in_array("oni", $ingridients))
  {
  echo "The letters 'oni' is available in the given ingredients";
  }
 else
   {
   echo "The letters 'oni' is NOT available in the given ingredients";
  }
?>

答案 1 :(得分:1)

没有一个运算符与python中的in运算符具有相同的作用。

尽管如此,PHP几乎具有所有功能的内置函数:正如其他人所建议的那样,您可以使用in_array检查数组中是否存在元素。

如果您要确定字符串是否包含子字符串(例如“ pepperoni”中的“ oni”),则可以使用strpossubstrpreg_match等PHP函数

答案 2 :(得分:0)

由于jsaigle已经said,在Python中没有一个单独的操作符与innot in做同样的事情。

只是为了好玩,这里有一个模仿它的包装器(请参见https://3v4l.org/ZfCBH):

<?php

if (Term::create('oni')->in(['cheese', 'tomato', 'onion', 'pepperoni'])) {
    echo '"oni" is available in the given ingredients'.PHP_EOL;
} else {
    echo '"oni" is NOT available in the given ingredients'.PHP_EOL;
}

if (Term::create('oni')->in('pepperoni')) {
    echo '"oni" is available in the given ingredient'.PHP_EOL;
} else {
    echo '"oni" is NOT available in the given ingredient'.PHP_EOL;
}

// Pretend the following isn't here

class Term
{
    public $value;

    public function __construct($value)
    {
        $this->value = $value;
    }

    public static function create($value)
    {
        return new self($value);
    }

    public function in($search)
    {
        return array_reduce((array) $search, function ($carry, $item) {
            return $carry ?: (bool) mb_substr_count($item, $this->value);
        });
    }

    public function notIn($search)
    {
        return !$this->in($array);
    }

    public function __toString()
    {
        return $this->value;
    }
}

答案 3 :(得分:0)

尽管回答最多的人不理解问题中写的是什么,但是有了一个正确的答案,我可以得出结论

PHP中没有单一的运算符或函数与Python中的“ in in not”成员资格运算符具有相同的作用。