Сегодня, когда я читал документ, я видел где-то что-то похожее на это in_array('value1' || 'value2', $my_array)
, поэтому я попытался научиться. И это работает! Просто почему? Как это действительно работает за этим?in_array «или» оператор в параметрах
0
A
ответ
3
$array = array(2, 3, 4);
var_dump('value1' || 'value2');
var_dump(in_array('value1' || 'value2', $array));
Его не так уж необычно.
'value1' || 'value2'
true
слабым равенством.
array(2, 3, 4)
содержит значения, которые также являются true
слабым равенством.
Таким образом, это доказывает, что in_array
выполняет слабое сравнение. Спасибо, я должен это понять, так как я все время использую эту функцию.
В Javascript 'value1' || 'value2'
вернет value1
, потому что в этом контексте это «нулевой оператор коалесцирования».
РНР эквивалент 'value1' ?: 'value2'
сравнить состояние с булевым или 'value1' ?? 'value2'
для нулевого сливающихся в PHP 7. Я буду считать, что код был недоразумение языка, потому что он не выглядит полезным или даже иметь смысл ,
Смежные вопросы
- 1. in_array или равно «x»
- 2. Как использовать оператор where, основанный на параметрах
- 3. Использовать указатель или массив в функциональных параметрах
- 4. Php - in_array() и! in_array() проверить значение 0
- 5. Многомерный in_array()
- 6. PHP array_intersect или in_array, тогда MYSQL
- 7. PHP in_array() или array_search() не работает
- 8. Неделя расписания: PHP in_array или плагин jQuery
- 9. Использование даты() с in_array() или array_key_exists()
- 10. Быстрее использовать in_array() или большой if-условный?
- 11. php массивы - in_array и/или array_intersect
- 12. Оператор или оператор Ternary
- 13. Значение In_array?
- 14. Javascript in_array
- 15. Использование in_array в коллекциях
- 16. Рубиновый тернарный оператор (или) или оператор
- 17. Laravel in_array
- 18. Предоставление подзапроса в параметрах запроса
- 19. PHP in_array() неожиданный результат
- 20. Почему оператор + не генерирует никаких исключений при любых нулевых параметрах?
- 21. ИЛИ оператор в C#
- 22. ИЛИ оператор в фильтре()?
- 23. Или оператор в PHP
- 24. или оператор в vbscript
- 25. $ или оператор в $ elemMatch
- 26. Или оператор в C++
- 27. Выберите оператор с или оператор
- 28. оператор T &() или оператор T()?
- 29. Как работает оператор или оператор?
- 30. in_array() не находит иглу в стоге сена
so ''value1' || 'value2' 'всегда будет истинным, так как строка оценивается как true в булевом? – Andrew
Поскольку они являются постоянными строками, да. Если бы они были пустыми строками, это вернуло бы «ложь». – Flosculus
получил. благодаря! – Andrew