ADからLDAPで取得したデータを成形する処理を書いています。
$entryにはLDAPで取得したデータが連想配列で入っており、
以前のバージョンのphpでは動いていました。
ところが、php7.2、Laravel6.0の環境で、以下のコードをControllerからクラス内ファンクションの呼び出しで実行した際に失敗します。
エラーコード:Trying to access array offset on value of type int
エラーについて調査したところ最近のPHP(主に7.4、稀に7.2)で出るエラーであり、
型がArrayでないことから発生することまではわかりました。
安直に(array)を$keyの前につけても解決せず、困り果てています。
foreach($entry as $key => $entries) { #dd(gettype($key),gettype($entries)); #$keyはint、$Entriesはstring #echo $entries[$key]["samaccountname"][0]; #←ここでエラー $busho = toSjis($entries[$key]["department"][0]); ~~中略~~ $MemberList = array_merge_recursive($MemberList, array($counter => array('uid' => $uid, 'name' => $namek, 'busho' => $busho, 'yaku' => $yaku))); dd($MemberList); $counter++; }
回答1件
あなたの回答
tips
プレビュー