Условие с in_array не работает

168
28 июля 2018, 12:30

Почему это условие не истинно?

if (in_array(array('3','4','5'), $virtuemart_shoppergroup_ids, false))

И это:

if (in_array(array(3,4,5), $virtuemart_shoppergroup_ids, false))

Ну и это:

if (in_array(array(3,4,5), $virtuemart_shoppergroup_ids))

Если $virtuemart_shoppergroup_ids содержит в себе:

Array
(
    [0] => 3
)
Answer 1

Потому что 1ый аргумент - это то, что ищем, а 2ой - в каком массиве ищем. Читайте мануал

P.S. третий параметр false бесполезен, так как он по умолчанию установлен в false

Update:

in_array вернет true, только если первый аргумент является элементом 2ого аргумента

$simpleHaystack = [ 1, 2, 3 ]; // одномерный массив
$multiHaystack = [ [ 1 , 2 ] , 3]; // многомерный массив
$needle = [ 1, 2 ];
var_dump( in_array( $needle, $simpleHaystack ) ); // false, потому что в массиве [1,2,3] нет элемента [1,2]
var_dump( in_array( $needle, $multiHaystack ) ); // true, потому что в массиве [[1,2],3] есть элемент [1,2]
Answer 2

Вот это работает.

        $haystack = array(array(3,4,5), $virtuemart_shoppergroup_ids);
        if (in_array(array(3,4,5), $haystack)) {
        }
READ ALSO
Помогите разобраться с qmake

Помогите разобраться с qmake

Решил перейти от cmake к qmake и тут же напоролся на такую проблему: как написатьpro-файл для компиляции проги с двумя создаваемыми библиотеками?...

197
можете объяснить коротко что делает map

можете объяснить коротко что делает map

можете объяснить коротко что делает map

199
Сделать хвост для змейки

Сделать хвост для змейки

Всем привет! Я самостоятельно учу с++ и решил написать змейкуДля роста её хвоста при съедении еды я хотел использовать массив, хранящий положение...

197
Нарисовать иконку поверх другой в QToolButton Qt5

Нарисовать иконку поверх другой в QToolButton Qt5

Есть QToolButton ей в таблице стилейqss задется border-image:

201