在我的場景中,繪畫列表位於json格式的列中。繪畫列表包含文件名,繪畫名稱和查看次數。我想刪除列表中的一幅畫。但我沒有管理。這裏是我的代碼:獲取PHP中數組的差異
$paintings = '[["24ef9-70076-4358c-48386.jpg","La Donna Gravida","649"],["a7972-065a9-4c0f9-723d1.jpg","Madonna and Child with the Book","1254"],["b054c-df208-0f600-e884e.jpg","Madonna del Granduca","1457"]]';
$painting = 'a7972-065a9-4c0f9-723d1.jpg';
$difference = array_diff((array)json_decode($paintings), (array)$painting);
echo json_encode(array_values($difference));
我想達到以下結論:[["24ef9-70076-4358c-48386.jpg","La Donna Gravida","649"],["b054c-df208-0f600-e884e.jpg","Madonna del Granduca","1457"]]
但我得到這樣的錯誤:Notice: Array to string conversion in...
你能幫助我嗎?
'(array)json_decode($ paintings)'不會創建一個關聯數組,因爲您原本沒有包含json字符串中的鍵的對象。 – Cheery 2014-10-26 19:33:13
警告'$ paintings'是一個數組數組,'array_diff'只接受一維數組 – 2014-10-26 19:34:29
問題從這裏開始:'(array)$ painting'。 '$ painting'是一個字符串,試圖將它轉換爲一個數組沒有什麼意義(它給了你提及的警告)。 – arkascha 2014-10-26 19:34:30