Мне нужно проверить, существует ли значение в многомерном массиве. Я нашел этот пример в qaru.site/info/111937/... и на PHP.NET, который мне нравится, потому что это изящное и компактное решение, но я заметил странное поведение:
$userdb=Array
(
(0) => Array
(
(uid) => '100',
(name) => 'Sandra Shush',
(pic_square) => 'urlof100'
),
(1) => Array
(
(uid) => '5465',
(name) => 'Stefanie Mcmohn',
(pic_square) => 'urlof100'
),
(2) => Array
(
(uid) => '40489',
(name) => 'Michael',
(pic_square) => 'urlof40489'
)
);
if(array_search(100, array_column($userdb, 'uid'))) {
echo "FOUND";
}
Оператор IF не возвращает никакого значения, если вы проверяете существование любого значения массива FIRST (Array [0]
). Он работает со значениями других массивов. Сначала попробуйте 100
, затем попробуйте с 40489
(или попробуйте с "именем" или "pic_square").