サブ配列に保存されている sha1 コードに応じて、配列の特定のサブ配列にアクセスしようとしています。次のコードが機能しています。
//I take a sha1 string of 40chars from GET
if(isset($_REQUEST['sha1'])){
//then I iterate through the array and check if the subarrays sha1 matches
for($i = 0; $i < count($scomplaints); $i++) {
if($scomplaints[$i]['sha1'] == $_REQUEST['sha1']){
//once a match is found I delete the match...
unset($scomplaints[$i]);
//... reserialize the array and update it in the database
$new_c = serialize($scomplaints);
// ( add new array to database )
break;
}
}
}
かなり簡単です。唯一の問題は次のとおりです。一部のランダムなケースでは、ループがサブ配列の sha1 値を読み取らないことがあります。代わりに、配列から空の文字列を読み取ります。
しかし、配列をvar_dumpすると、sha1コードが配列に明確に保存され、GETから取得したものと同じになります(手動で比較しました)。
何が問題なのかわかりません。おそらくエンコード エラーですか? 多分あなたの一人がこれで私を助けることができますか?
すべてのアドバイスをありがとう。