0

サブ配列に保存されている 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から取得したものと同じになります(手動で比較しました)。

何が問題なのかわかりません。おそらくエンコード エラーですか? 多分あなたの一人がこれで私を助けることができますか?

すべてのアドバイスをありがとう。

4

1 に答える 1