В моем сценарии список картин находится в столбце в формате 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...
Не мог бы вы мне помочь?
'(массив) json_decode ($ painting)' не создает ассоциативный массив, так как у вас нет первоначально объектов с ключами в json-строке. – Cheery
Предупреждение '$ painting' - массив массивов, а' array_diff' принимает только один размерный массив. –
. Проблема начинается здесь: '(array) $ painting'. '$ painting' - это строка, и нет смысла пытаться преобразовать ее в массив (который дает вам предупреждение, которое вы упоминаете). – arkascha