>我在while循环中具有以下代码,它从WordPress中的自定义字段中获取一个json数组,将其转换为正确打印的php数组。我看到每个数组都打印在 AJAX 响应中。
如果每个数组都打印正确,这意味着$testmeta
每个循环都存储一个数组,为什么$position = end($testmeta);
返回此错误Warning: end() expects parameter 1 to be array, null given
if ( $posts->have_posts() ) {
while ( $posts->have_posts() ) {
$results_array = get_post_meta($thepostid, 'results',true);
$testmeta = json_decode($results_array,true);
print_r($testmeta);
$position = end($testmeta);
}
}
我尝试将unset($testmeta)
放在代码下方,但没有帮助。
我还尝试了print_r(end($testmeta));
打印每个数组的末尾但仍然抛出错误
可能是$testmeta是空的(有时是循环),所以在分配之前测试它:
if (!empty($testmeta)) $position = end($testmeta);