如何从数组创建动态数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从数组创建动态数组相关的知识,希望对你有一定的参考价值。
我想创建一个这样的ARRAY:
$myData = array (
'gallery' => array (
0 => array (
'title' => 'Bild 1',
'image' => 'https://mysite.de/wp-content/uploads/2019/01/IMG_8797.jpg',
),
),
);
我在Wedevs WPUserFrontendPro表单中使用wordpress。在此表单中,我上传了图库的图像。图像ID存储在自定义字段中。像2622,56565,44343,3434这样的东西。
现在我尝试从这个字符串创建一个数组。
$bilderGalerie = explode( ',', $string );
我试过这个:
$myData = array (
'gallery' =>
for( $i = 0;$i < count( $bilderGalerie );$i ++ ) {
array (
$i => array (
'title' => 'Bild 1 Nummer'.$bilderGalerie[$i],
'image' => wp_get_attachment_image_src( $bilderGalerie[$i], 'thumbnail' )
),
),
}
);
我得到了这个:“语法错误,意外'}'”
有什么建议?非常感谢,丹尼斯
答案
如前所述,您不能在数组声明中使用for循环。
作为替代方案,您可能要做的是将array_map的结果设置为您的值:
$myData = [
"gallery" => array_map(function ($imgId) {
return array(
'title' => 'Bild 1 Nummer' . $imgId,
'image' => wp_get_attachment_image_src($imgId, 'thumbnail')
);
}, $bilderGalerie)
];
另一答案
您不能进出数组声明并执行其他代码。只需在循环内定义数组,尝试foreach
:
foreach($bilderGalerie as $val) {
$myData['gallery'][] = array(
'title' => 'Bild 1 Nummer' . $val,
'image' => wp_get_attachment_image_src($val, 'thumbnail'));
}
即使$myData
已被定义为附加或创建并附加到gallery
,这也很有效。
以上是关于如何从数组创建动态数组的主要内容,如果未能解决你的问题,请参考以下文章