Это второй раз, когда это произошло сегодня во время кодирования, и это супер разочаровывает, как я не понимаю, что я делаю неправильноPHP думает, что массив представляет собой целое число
В коде ниже $_SESSION['groupData']
является многомерным массив.
foreach($_SESSION['groupData'] as $i){
echo "<pre>";
print_r($i);
echo "<pre>";
if(in_array($_SESSION['uid'], $i)){
echo $i['cn'][0];
}
}
И ниже выход $i
(1 ARRAY за петлю)
Array
(
[cn] => Array
(
[count] => 1
[0] => SSO Administrators
)
[0] => cn
[uniquemember] => Array
(
[count] => 10
[0] => u1
[1] => u2
)
[1] => uniquemember
[count] => 2
[dn] => cn=blah
)
Array
(
[cn] => Array
(
[count] => 1
[0] => group
)
[0] => cn
[uniquemember] => Array
(
[count] => 10
[0] => u1
[1] => u2
)
[1] => uniquemember
[count] => 2
[dn] => cn=blank
)
Array
(
[cn] => Array
(
[count] => 1
[0] => bork
)
[0] => cn
[uniquemember] => Array
(
[count] => 10
[0] => u1
[1] => u2
)
[1] => uniquemember
[count] => 2
[dn] => cn=blah
)
Но это дает мне ошибку
«Предупреждение: in_array() ожидает параметр 2 является массивом, целое число «
$i
- массив, не так ли? почему еще $i
echo как массив с print_r($i)
??
Любая помощь была бы принята с благодарностью!
Спасибо!
Джо
Ни один из ваших цифровых значений не является массивом –
@JohnConde Он не выполняет итерации по этим массивам, это элементы основного массива, который он выполняет. – Barmar
Действительно ли это весь код? Готов поспорить, у вас есть дополнительный код, который повторно использует переменную '$ i'. – Barmar