Ниже приведен вывод на печать из $_POST['image']
stdClass Object
(
[0] => Array
(
['filename'] => cn-100x100.png
['contents'] =>
)
[1] => Array
(
['filename'] =>
['contents'] =>
)
)
когда я делаю,
echo '<pre>';
print_r((object)$_POST['image'][0]['filename']);
exit;
это дает мне ошибку
Notice: Undefined index: filename
Я пытался сделать var_dump( (array)$_POST['image']),
array(2) { ["'filename'"]=> string(14) "cn-100x100.png" ["'contents'"]=> string(10218) "base64..."}
Если бы я удалил данные base64 из столбца массива ['contents'], теперь я могу получить доступ к первому массиву.
$array = array( 0 => [ "имя файла" => 'cn-100x100.png', "содержимое" => '' ], 1 =>[ "имя файла" => '', "содержимое" => '' ], ); print_r((объект)$массив[0]['имя файла']); это работает
В столбце есть данные base64 contents Если я удалил base64 данные из столбца массива ['contents'], теперь я могу получить доступ к первому массиву. Есть идеи, помогите?






вы можете обновить его
echo '<pre>';
print_r((array)$_POST['image'][0]['filename']);
exit;
В столбце есть данные base64 contents Если я удалил base64 данные из столбца массива ['contents'], теперь я могу получить доступ к первому массиву. Есть идеи, помогите?
Доступ к свойствам объекта с помощью $object['property_name'] недоступен.
Вы должны использовать синтаксис стрелки $object->property_name или $object->{'property_name'}
В этом случае похоже, что $_POST['image'] каким-то образом был определен как объект, поэтому вам придется использовать:
$_POST['image']->{'0'}['filename']
Вы также можете преобразовать его в массив, используя: $_POST['image'] = (array)$_POST['image'];
В столбце есть данные base64 contents Если я удалил base64 данные из столбца массива ['contents'], теперь я могу получить доступ к первому массиву. Есть идеи, помогите?
Немного хитрости, но последовательный способ преобразования объектов в массив — это использование: $variable = json_decode(json_encode($variable),true); — попробуйте применить это к $_POST['image'] переменной
Преобразуйте весь объект в массив следующим образом
$all_images= (array) $_POST['image'];
echo '<pre>';
print_r($all_images);
echo '</pre>';
Теперь вы можете получить доступ вот так $all_images[0]['filename']
я думаю, что могут быть некоторые проблемы в вашем формате массива