Array_column array_map return

问题描述 投票:1回答:2

我有这个array_map:

    /* Return an array of _octopus_ids */
    $offices = array_map(
        function($post) {
            return array(
                'id' => get_post_meta($post->ID, '_octopus_id', true),
            );
        },
        $query->posts
    );

返回以下内容:

array (size=10)
  0 => 
    array (size=1)
      'id' => string '1382' (length=4)
  1 => 
    array (size=1)
      'id' => string '1330' (length=4)

如何使该语句内爆,以便我仅获取字符串?

我尝试了以下操作:

    $test = implode(', ', $offices);
    var_dump($test);

var_dump($ test)返回以下内容:Array, Array, Array, Array, Array, Array, Array, Array, Array, Array

我收到Array to string conversion错误-我在做什么错?我只想先打印1382,然后再打印1330

php wordpress
2个回答
1
投票

您可以使用array_column()来获取所有id的数组


2
投票
/* Return an array of _octopus_ids */
    $offices = array_map(
        function($post) {
            return get_post_meta($post->ID, '_octopus_id', true)
        },
        $query->posts
    );

    print_r($offices);

    //or

    $officesStr = implode(', ', $offices);
    echo $officesStr;

$useLaterArr = [];
foreach ($offices as $office) {
    $useLaterArr = ['id' => $office];
}

echo "For later use :)\n";
print_r($useLaterArr);

$another = ['id' => $offices];
echo "Another way:\n";
print_r($offices);
© www.soinside.com 2019 - 2024. All rights reserved.