显示逗号分隔的数组的特定值

Display specific values of array comma separated

我一直在尝试显示用逗号分隔的数组的特定值(最后一个除外)。

这是我的数组:

   "pure_taxonomies": {
       "domaine": [
                   {
                    "term_id": 36,
                    "name": "Domaine TEST",
                    "slug": "domaine-test",
                   },
                   {
                    "term_id": 40,
                    "name": "DomaineTEST2",
                    "slug": "domainetest2",
                   }
                ],

我想显示以逗号分隔的每个 NAME。 我试过的:

$response = wp_remote_get( add_query_arg( array(), 'http://website.com/wp-json/wp/v2/api' ) );

$postid = url_to_postid( $url );

 if( !is_wp_error( $response ) && $response['response']['code'] == 200 ) {
    $remote_posts = json_decode( $response['body'] ); 
        foreach( $remote_posts as $remote_post ) {?>
           <?php 
         foreach( $remote_post->pure_taxonomies->domaine as $pure_taxonomies_domaine ) { 
    $domaines = $pure_taxonomies_domaine->name;
    echo $domaines .', ';
    }
 }
 }

我想要的是Domaine TEST, DomaineTEST2

谢谢

您的输入对象是 JSON。

  • 您首先需要使用 json_decode 将其转换为数组,并将 assoc 标志(第二个参数)设置为 true。这将为您提供一个关联数组。
  • 现在,您可以使用 array_column 函数在单独的数组中获取所有 names
  • 最后,使用implode函数将数组转换成逗号分隔的字符串。

尝试以下操作:

if( !is_wp_error( $response ) && $response['response']['code'] == 200 ) {
    // convert into multi-dimensional associative array
    $remote_posts = json_decode( $response['body'], true );

    foreach( $remote_posts as $remote_post ) {
        // Use array_column function to get all the names
        $names = array_column($remote_post['pure_taxonomies']['domaine'], 'name');

        // use implode to convert into comma separated string
        echo implode(', ', $names);
    }
 }

请使用以下代码查看:

// ...
$domaine_names = array();
foreach( $remote_post->pure_taxonomies->domaine as $pure_taxonomies_domaine ) { 
    $domaine_names[] = $pure_taxonomies_domaine->name;
}
echo implode(', ', $domaine_names);
// ...