在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中是否存在“成员运算符”。
答案 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”),则可以使用strpos
,substr
,preg_match
等PHP函数
答案 2 :(得分:0)
由于jsaigle已经said,在Python中没有一个单独的操作符与in
和not 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”成员资格运算符具有相同的作用。