PHP函数获取数组中最后插入的数据

PHP函数获取数组中最后插入的数据,php,function,Php,Function,我知道你们会说这可能会复制到 但我已经尝试了,但没有成功地让我的功能工作,我正在试图找出原因 我有一个函数,可以从Wordpress帖子的内容中抓取缩略图附件 代码可以很好地处理只有一个图像的帖子,但是如果帖子中有多个图像,它将正确显示数组中的第一个图像,但我不知道为什么它会反向存储图像。表示最后存储的post的第一个图像和最后存储的第一个图像。我想这可能就是Wordpress的媒体功能的工作原理 无论如何,我只需要从函数中获取最后插入的数据,即使它在数组中存储了一个或多个图像 // Get I

我知道你们会说这可能会复制到

但我已经尝试了,但没有成功地让我的功能工作,我正在试图找出原因

我有一个函数,可以从Wordpress帖子的内容中抓取缩略图附件

代码可以很好地处理只有一个图像的帖子,但是如果帖子中有多个图像,它将正确显示
数组中的第一个图像,但我不知道为什么它会反向存储图像。表示最后存储的post的第一个图像和最后存储的第一个图像。我想这可能就是Wordpress的
媒体
功能的工作原理

无论如何,我只需要从函数中获取最后插入的数据,即使它在
数组中存储了一个或多个图像

// Get Image Attachments
function sa_get_image($postid=0, $size='thumbnail') { 
    if ($postid<1)
    $postid = get_the_ID();
    $thumb = get_post_meta($postid, "thumb", TRUE); 
    if ($thumb != null or $thumb != '') {
        echo $thumb;
    }
    elseif ($images = get_children(array( 
        'post_parent' => $postid,
        'post_type' => 'attachment',
        'numberposts' => '1',
        'post_mime_type' => 'image', )))
        foreach($images as $image) {
            $thumbnail=wp_get_attachment_image_src($image->ID, $size);
            ?>
    <?php echo $thumbnail[0]; ?> // here is the problem where the image display.
    <?php }

}
//获取图像附件
函数sau get_image($postid=0,$size='thumbnail'){
如果($postid$postid),
“post_类型”=>“附件”,
'numberposts'=>'1',
“post_mime_type'=>“image',))
foreach($images作为$image){
$thumbnail=wp\u get\u attachment\u image\u src($image->ID,$size);
?>
//这里是图像显示的问题。

您正在以数组的形式访问$thumbnail,但您正在覆盖foreach()中的变量,就像它是一个字符串一样

更改:

$thumbnail=wp_get_attachment_image_src($image->ID, $size);

要使它成为一个数组,那么剩下的代码应该可以工作

变化:
$thumbnail=wp\u get\u attachment\u image\u src($image->ID,$size);

致:
$thumbnail[]=wp\u get\u attachment\u image\u src($image->ID,$size);

不要忘记在for each外部声明
$thumbnail=array()

然后您可以使用(首选):

echo end($thumbnail);

或者类似于:

echo$thumbnail[计数($thumbnail)-1];

如果您不想获得“最后一个”附加值。
或者您可以使用
[0]
first()
获取第一个值


您可以将其添加到此处(例如):

$thumb=get\u post\u meta($posted,“thumb”,TRUE);

$thumbnail=array();//我的解决方案有一个更简单的方法,下面是如何从数组中获取最后一个

只需将其添加到阵列区域即可

'orderby' => 'menu_order',
'order' => 'ASC', //If reverse use DESC

在你的帖子中,reserve这个词应该是反向的?该死的!很抱歉我现在要编辑它:dw我可以在哪里声明
$thumbnail=array()
?@Daan Timmer这已经是我完成的函数了,正如我前面提到的,如果不尝试获取最后一个索引,它会工作得很好,所以我假设这只是逻辑上的一些问题?不被接受?您显然是在某处调用您的函数。因此,与此函数交互的不是您的完整代码/方法很抱歉,我尝试了你的解决方案,但它不起作用。这是我的全部代码,当我问他们有一个数组(你可以看看我的代码),它实际上控制着顺序。print_r()wp_get_attachment_image()的输出我对php不是很在行,你是这样做的吗?
print_r($wp_get_attachment_image())
您也需要将值传递到print\r(wp\u get\u attachment\u image\u src($image->ID,$size));但我仍然看不到任何内容:/
$thumb = get_post_meta($postid, "thumb", TRUE); 
$thumbnail = array(); //<<<
if ($thumb != null or $thumb != '') {
'orderby' => 'menu_order',
'order' => 'ASC', //If reverse use DESC