我正在尝试根据子数组中保存的 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 获得的代码相同(我进行了手动比较)。
我无法弄清楚问题是什么,也许是一些编码错误?也许你们中的一个可以帮助我解决这个问题?
感谢您的所有建议。