Массив Foreach создается неправильно

Я генерирую массив, используя foreach, как так …

<?php
$docs = array();
$media = get_attached_media('image');
foreach($media as $medias) {
$docs[] = $medias->guid;
}
$images = serialize(array('docs' => $docs));
print_r($images);
?>

Вывод, который я получаю, это …

a:1:{s:4:docs";a:3:{i:0;s:62:"http://www.example.com/image1.jpg";i:1;s:62:"http://www.example.com/image2.jpg";i:2;s:62:"http://www.example.com/image3.jpg";}}"

Но мне нужно …

a:1:{s:4:"docs";a:4:{i:0;a:1:{s:15:"property_imgurl";s:35:"http://wwww.example.com/image1.jpg";}i:1;a:1:{s:15:"property_imgurl";s:35:"http://wwww.example.com/image2.jpg";}i:2;a:1:{s:15:"property_imgurl";s:35:"http://wwww.example.com/image3.jpg";}i:3;a:1:{s:15:"property_imgurl";s:35:"http://wwww.example.com/image4.jpg";}}}

Куда я иду не так?

0

Решение

Похоже, вы ожидаете $medias->guid быть массивом, но это строка. Я считаю, что вам нужно будет предоставить значение массива при вставке в ваш массив. Это должно работать для вас:

$docs = array();
$media = get_attached_media('image');
foreach($media as $medias) {
$docs[] = array("property_imgurl" => $medias->guid);
}

$images = serialize(array('docs' => $docs));
print_r($images);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]