警告:非法字符串偏移'id'

时间:2013-10-28 14:12:09

标签: php

我定义了两个变量如下:

$pic = get_tax_meta($books->term_id,'books_field_id', true);
$imageurl = wp_get_attachment_image_src( $pic[id], 'list-thumb' );

print_r($pic)会产生以下结果:

Array ( [id] => 302 [src] => http://localhost/mysite/wp-content/uploads/2013/10/apic.jpg )

但是,我从$ pic [id]:

收到以下警告
Warning: Illegal string offset 'id'

知道我做错了吗?

4 个答案:

答案 0 :(得分:2)

您需要将数组键包装在引号中,如下所示。所以

$pic[id]

必须

$pic['id']

或者

$pic["id"]

答案 1 :(得分:2)

这似乎解决了这个问题:

$pic = get_tax_meta($books->term_id,'books_field_id', true);
if (isset($pic['id'])) {
      $picid = $pic['id'];
};
$imageurl = wp_get_attachment_image_src( $picid, 'list-thumb' );

答案 2 :(得分:1)

您需要将id括在单引号或双引号中:

$pic["id"]

或者:

$pic['id']

有关详细信息,请参阅Accessing array elements with square bracket syntax

答案 3 :(得分:0)

替换

 $imageurl = wp_get_attachment_image_src( $pic[id], 'list-thumb' );

 $imageurl = wp_get_attachment_image_src( $pic["id"], 'list-thumb' );