0
我想通過JSON數組進行排序並刪除用戶告訴頁面刪除的項。我已經使用了一些回聲來查看值是否匹配,甚至當$ value ['AD']和$ lineToRemove的值相同時,我的If語句不捕獲它並跳到Else節。我試過沒有我的價值是字符串,我已經嘗試過===,並且我嘗試了幾種不同的解決方案。刪除JSON數組值時PHP變量不匹配
這是我現在的代碼。
$str = file_get_contents($file2);
$json = json_decode($str, true); // decode the JSON into an associative array
$match = "We have a match!";
$test = "Sorry, no match found.";
foreach ($json as $field => &$value) {
if ((string)$value['AD'] == (string)$lineToRemove) {
echo '<pre>' . print_r($match, true) . '</pre>';
unset($json[$field]);
$json = array_values($json);
var_dump($json);
}
else {
echo '<pre>' . print_r($test, true) . '</pre>';
}
}
$finalArray = json_encode($json);
file_put_contents($file2, $finalArray);
$ lineToRemove是用戶試圖刪除的文件名的變量。這裏是我的JSON的示例:
[
{
"AD":"image-1.png",
"DURATION":1000
}
]
我試圖回答this的問題,但它沒有工作,我目前擁有的代碼是我來此的工作最接近的一次。