Если вам нужно только связаться с ними, вы можете использовать str.join
trigram = (listText[0], listText[1], listText[2])
c_trigram = '_'.join(*trigram)
, вы можете увидеть пример бесстыдного самоподключения здесь
Он сравнивает равенство значений и типов.
if("45" === 45) //false
if(45 === 45) //true
if(0 === false)//false
У него есть аналог:! == который сравнивает неравенство типов и значений
if("45" !== 45) //true
if(45 !== 45) //false
if(0 !== false)//true
Это особенно полезно для таких функций, как strpos - которые могут возвращать 0
strpos("hello world", "hello") //0 is the position of "hello"
//now you try and test if "hello" is in the string...
if(strpos("hello world", "hello"))
//evaluates to false, even though hello is in the string
if(strpos("hello world", "hello") !== false)
//correctly evaluates to true: 0 is not value- and type-equal to false
Вот хорошая таблица в Википедии , в которой перечислены другие языки, которые имеют аналогию с тройным равенством.
Это правда, что === сравнивает и значение, и тип, но есть один случай, который еще не упоминался, и это когда вы сравниваете объекты с помощью == и ===.
Учитывая следующий код :
class TestClass {
public $value;
public function __construct($value) {
$this->value = $value;
}
}
$a = new TestClass("a");
$b = new TestClass("a");
var_dump($a == $b); // true
var_dump($a === $b); // false
В случае объектов === сравнивает ссылку, а не тип и значение (поскольку $ a и $ b имеют одинаковый тип и значение).
В руководстве по PHP есть пара очень хороших таблиц («Свободные сравнения с ==» и «Строгие сравнения с ===»), которые показывают, какой результат == и === выдаст при сравнении различных типов переменных.
Он проверит, совпадает ли тип данных и значение
if ("21" == 21) // true
if ("21" === 21) // false
== не сравнивает типы, === делает.
0 == false
оценивается как истина, а
0 === false
- нет
Как минимум, === быстрее, чем ==, потому что не происходит автоматическое приведение / приведение на, но он настолько минимален, что вряд ли стоит упоминать.
Это истинное сравнение на равенство.
"" == Ложь
например Истина
.
"" === Ложь
is false